in OSX you can use Dialog.ShowModalWithin(yourWindow)
I tested further with Movable Modal and Modal windows, they don’t behave the same. They always open on Screen1, even when Main Window is on Screen2.
If you need to open a dialog that must be closed before you can continue working with the rest of the application, I find Sheet Window to suit the purpose. While Movable Dialog and Modal Dialog work this way in Windows, they don’t seems to in Sierra.
Sheet Window will open as Modal in Windows but does not open where the Main Window is. You can specify the location you want before you show Window2, example:
Window2.Left = Window1.Left
Window2.Top = Window1.Top
In Window, this will open Window2 on top of Main Window (since Modal) at the top left even when Main Window is in Screen2. You can play around with the number. I think as long as it opens on top the users will not have to look for it. In Sierra, it open attached to Main Window and must be closed before you can continue.