晚上好 = saying hello in the evening, night etc. Don't try to translate directly from English's "Goodnight".
晚安 = goodnight. Literally means "to sleep well in peace" or "may peace be in your sleep"
This is cultural biase. For example "吃了沒有?" to mean "hello" and not to mean literally. The listener may find it puzzling if they had not experience anything bad happened to them to warrant such words.