My guess since I'm no astronomist
Noon means the sun reaches it zenith point known as the meridian, it is at the highest point in the sky. Therefore morning is ante meridiem or before the meridian. Afternoon and evening is post meridiem or after the meridian when the sun comes down agian.
Midnight is when the sun hits its nadir point, or the lowest point of the earth at where you are located. After that the cycle begins again and now you are at AM agian.
We use morning so much when associating it with AM regardless if it is dark or light since we have been so accustomed to it.
Night and day don't have that much to do with AM and PM. But my guess is that morning(usually 6AM) which starts the day, and evening(6PM) which ends daytime starts nighttime begin halfway between the highest and lowest points of the sun.
This is why languages such as Spanish and French have simpler words for these types of scheduling days...
6AM go Noon = Mañana (Matin), Noon = Mediodía (Midi), Noon to 6PM = Tarde (Après-midi), 6PM to Midnight = Noche (Soir/Nuit), Midnight = Medianoche (Minuit), 12AM to 6AM = Madrugada (?)
But you will still hear Mañana at 12:30 or 2 in the morning instead of Madrugada.
So by using the vocabulary in any language and to make it short....
Day is from 6AM to 6PM or when the sun is shining regardless of hours.
Night is from 6PM to 6AM or when it is dark.
AM and PM are separated by the suns highest and lowest points from the ground.
My own nickels worth