You can have multiple Gui objects, although it is advised to use a single Gui object and have multiple Panel/Group widgets inside it of which you only show one and hide the others.
The draw function fails at an assert. Some compilers and IDEs will clearly display the assertion in the output, but I know that some just crash without displaying much information. The reason why it asserts is because the Gui objects are not correctly initialized. They need to be told to which window they have to draw. The initialization should look like this (or use the setWindow/setTarget function if you can't initialize them on the same line).
tgui::Gui menu{app_win};
tgui::Gui over{app_win};
Edit: are u running the code in release mode instead of debug mode? It looks like assertions are disabled based on your image.