This is a ERR in Pygame i'm sorry to say.
Had this major problem when developing a toolkit for a company back in the days.
Edit: if the first "bug-ugly-fix" doesn't work, try my second suggestion!
The fix was sort of easy tho (if it works for you, this is NOT logical because it doesn't have anything to do with the actual problem BUT it worked for me, for some reason and), all you have to do is (before you call the render function):
# At the very top of your code, import:
from pyglet.gl import *
# then put this after clear() and before you draw anything:
If i'm not mistaken this should work just fine, if that doesn't work then you can always force the application to start up on the second monitor if you know that it will always be located on it, that way you "start" the renderer on the second monitor and thus making that the primary monitor for the application, to do that, simply do:
super(gfx, self).__init__(sizeX, sizeY)
self.platform = pyglet.window.get_platform()
self.Disp = self.platform.get_default_display()
self.Screen = self.Disp.get_screens()[screen_nr]
That should do the trick for you :)