okay, seems like the game yesterday had a hiccup and not all changed tracking vars were directly used. after I restarted the game today and loaded the save the witch does not visit me anymore in the night and Amy's gym scene is also closed.
and Luna's story is progressing, at night, though (as you coded it :) "if t.time == "night" and luna.level == 13 and not luna.levelup and player.level >= 4:" in mc_room.rpy)
minor quibble about Amy's hint system: you set amy.show_hint to False for lvl 7+8 but do not clear the variable again at the end of e.g. "label amy8" - there is no more content when her level reaches 9 but the "finished Amy's story" line is overwritten by the value of show_hint, when I read the conditions in phone_hint_screen.rpy correctly