¡Buenos días! = Good morning! Good day!
¡Buen día! = Good day! Hello!
¡Buenas! = Hello! at any time of the day.
In my opinion ¡Buen día! is snobbish and has been introduced into Spanish by Spaniards who studied English and discovered Good day! and made a literal translation into Spanish. I call them Spanish people who speak too much English.
¡Que tenga usted un buen día! is more used each day when you say Bye to your Doctor or Lawyer early in the morning.
¡Que Dios nos dé un buen día! = May God give us a good day! is still used by Christian communities in rural places and inside Monasteries and Convents.
Hace un buen día. = The weather is fine. It is a nice/ fine day.
Buen día para ir a la playa, a los toros, a pasear. = A fine day for going to the beach, to the bullfight, for a walk.
Hoy ha hecho un buen día aquí en Marbella. = Today has been a nice day here in Marbella.
Como siempre = As usual.
In the old times ¡Buenos días nos dé Dios! May God give us good morning > days. (And, obviously, give us also a good afternoon, a good evening, the whole rest of the day.) In my opinion that is the reason we do not say ¡Buenas mañanas! as in English.
One means “Good morning!” (buenos dias) and the other “Good day.” (buen dia). Buenos dias is a salutation, whereas buen dia is a sort of farewell. When you greet someone (especially, during the morning hours), you say, “Good morning” (buenos dias). When you bid farewell (during the morning or afternoon hours), you say, “Good day” (buen dia)