Ok, I had a play around with this to see the problem.
There is only one scriptengine for python. Irrespective of how many classes you make to initialize it, there is only one.
The library checks if you try to initialize more than once ( invo != null) and just returns.
Thus it never loads the second script.
The call to getName works because there is a function in the first script with that name, but returns the first name 'script1'.
Now, if you remove the return in the invo check, it will load the second script but overwriting the first one, thus returning 'script2'.
hope this helps.
btw, that is an old library
JInvokePython is the better one to use.. see below
I have modified the attached one to ignore the invo check.
Also you have to tell it where the jython libraries are ie the lib folder in the jython directory.