Why don't you say "bună noapte"?
In romanian the adjective stands after the noun.
But, we just learnt "Bună seara" and "Bună ziua" so the question still stands
So i think it is because ”bună noapte” is when you describe how was the night(good, awful,etc), but ”noapte bună” is when you wish someone night to be good after you walk in two different ways.
I have a romanian friend and thats exactly what she said. So you are perfectly correct ^^
You are right, it is different. I think there is no logical explanation for this. They are expressions, idioms if you will, so you just use them as they are.
You can also say seara bună. I have heard. :)