The problem was enabling GL_DEPTH_TEST in GameScreen's constructor, which invisiblises 2D texture of StartScreen.
Still, you can visit my repository for an example displaying and undisplaying screens:
https://github.com/sarahyoo011725/opengl-screen-switching