Buenos días & Buen día have the following difference
“Buen dia” is used only in the morning (as “good morning”) and “Buenos Dias” is used during the rest of the day as a general “hello”
Buenos días means Good morning! Good day! while Buen día means Good day or Hello, In Spanish buenos día is much more commonly used as compared to occasionally used buen día
Both of the words have exact same meaning after all but are used differently in different customs and dialects
The plural expresivo (or expressive plural) is another plausible reason for Spanish speakers saying buenos días. You may have noticed that Spanish speakers are slightly more intense in their emotions and manner of speaking. For this reason, they use the “plural expresivo”.