Quick guide for those having trouble: (Good route only. But be warned, to get the true good ending, you must see bad endings first, as well as having viewed all good endings.)
To get the true good ending, along with having the conditions previously mentioned, you need to unlock every key lock scene (Which can be viewed from the GTO, and have every girl at 10 affection. I'd suggest getting to NG+ ASAP, as getting the ending on your first run is impossible. Once you have NG+, finish the food route and get all 16 endings (Girls must be at -10 and have every keylock scene done.) Once you do around three keylock scenes, the principal fires you. This can be delayed by being knocked out or other certain events.
Once you have NG+ and all food route endings seen (You'll get an achievement when you get all of them), do the good route. Use the blue check mark to single out each girl one by one, and do their level 1 and 2 events (NOT THE KEY LOCK ONES, IF YOU GET ONE, RESTART THE DAY - MAKE SURE YOU SAVE EVERY MORNING, AND USE SEPARATE FILES). When you have all 18 girls at 10 affection, and have at least 20 non-keylock events done, you can get rid of the blue check. It should be around day 35 by now. Hope that the girls will drain you enough to be knocked out. (Don't use mysterious liquid or Fatiuge Goes Poof until after you get fired, and even then only if you have to.) If you're lucky, it'll be around day 40 by the time you get fired.
Now, here comes the rng part. Just let the days pass. Play once with any girl in the morning (Freeplay + properly is the quickest way), then sleep. Hand out snacks, sleep again in the afternoon, day ends. You'll be doing this a lot. For the rest of the game in fact. You should get around 1 keylock event per day, sometimes 2. This goes without saying, but make sure you have the principal give you 1 month before being fired (This becomes an option in NG+)
Finally... It won't work. Even if you get very very lucky, you'll never have enough time to get all key lock events done before you get fired. This is where you pretty much have to cheat. Use Cheat Engine to find the address which corresponds to the day value (Check which value changes between saves and follows the day counter on the calendar) once you find it, give yourself an extra 25ish days. That should be more than enough to get it all done in time. Once this is done, you may or may not have to sit through every good ending before reloading an old save (the night before being fired would be ideal), then play through the day, and you should get a scene where you talk to the children during naptime. Then at the very end, choose the picture of all the girls, and you'll have the ending.
If this doesn't work, I don't know what will. It worked for me. I hope it works for you too. Keep in mind that this strategy means you have to cheat to win, and you have to play through the game at least 3 times to get the true end... but it is worth it.
To get the true good ending, along with having the conditions previously mentioned, you need to unlock every key lock scene (Which can be viewed from the GTO, and have every girl at 10 affection. I'd suggest getting to NG+ ASAP, as getting the ending on your first run is impossible. Once you have NG+, finish the food route and get all 16 endings (Girls must be at -10 and have every keylock scene done.) Once you do around three keylock scenes, the principal fires you. This can be delayed by being knocked out or other certain events.
Once you have NG+ and all food route endings seen (You'll get an achievement when you get all of them), do the good route. Use the blue check mark to single out each girl one by one, and do their level 1 and 2 events (NOT THE KEY LOCK ONES, IF YOU GET ONE, RESTART THE DAY - MAKE SURE YOU SAVE EVERY MORNING, AND USE SEPARATE FILES). When you have all 18 girls at 10 affection, and have at least 20 non-keylock events done, you can get rid of the blue check. It should be around day 35 by now. Hope that the girls will drain you enough to be knocked out. (Don't use mysterious liquid or Fatiuge Goes Poof until after you get fired, and even then only if you have to.) If you're lucky, it'll be around day 40 by the time you get fired.
Now, here comes the rng part. Just let the days pass. Play once with any girl in the morning (Freeplay + properly is the quickest way), then sleep. Hand out snacks, sleep again in the afternoon, day ends. You'll be doing this a lot. For the rest of the game in fact. You should get around 1 keylock event per day, sometimes 2. This goes without saying, but make sure you have the principal give you 1 month before being fired (This becomes an option in NG+)
Finally... It won't work. Even if you get very very lucky, you'll never have enough time to get all key lock events done before you get fired. This is where you pretty much have to cheat. Use Cheat Engine to find the address which corresponds to the day value (Check which value changes between saves and follows the day counter on the calendar) once you find it, give yourself an extra 25ish days. That should be more than enough to get it all done in time. Once this is done, you may or may not have to sit through every good ending before reloading an old save (the night before being fired would be ideal), then play through the day, and you should get a scene where you talk to the children during naptime. Then at the very end, choose the picture of all the girls, and you'll have the ending.
If this doesn't work, I don't know what will. It worked for me. I hope it works for you too. Keep in mind that this strategy means you have to cheat to win, and you have to play through the game at least 3 times to get the true end... but it is worth it.