Thanks for the tip! However, for whatever reason, the cx_Freeze automatic package detection includes a lot of unnecessary packages too. For example, my tensorflow package gets packed together if I don't exclude it, although it wasn't even used in the game. I tried reducing the includes by expanding the list of excludes but it still wasn't going well (Still around 50 MB).
Also, the FPS meter above is just a bypass using the pygame.display.set_caption() that sets the caption on the title bar. I just set the resulting FPS from the get_fps() function on my pygame Clock object.