I think, in English, "hello" is formal enough to mean the same as "Guten Tag" in German, but I would not use "hi" in this case. I once learned that jó napot means "Guten Tag" in German. Or I have never been in such a formal situation that someone used "Good day" instead of "Hello". My native language is German, by the way, not English.
For what it's worth, it's also incredibly unusual to say "Hi, have a good day" unless you are walking past someone and only see them for a few seconds. "Have a good day" is something you say as a goodbye. This whole phrase is odd, in both English and Hungarian. Maybe it should be removed ...
I have noticed that people in Budapest (at least) like to pile up the greetings. I've often heard things like "szia, hallo, jó napot" upon entering a café and "szia, viszlát, hallo" as I leave.
(I find "hallo" upon leaving to be particularly weird, especially as in Polish such an utterance could mean "Hey wait! (you forgot something!)")
Let's recognize that 'Szia, jó napot!' is a welcome greeting, not a farewell greeting - so 'Szia' means 'Hi'/'Hello' here, not 'Bye'/'Goodbye'.
When 'Szia' used in a farewell sense, it rather means 'Bye' than 'Goodbye', on grounds that both 'Szia' and 'Bye' are informal and abbreviations of another greeting.
What a strange combination of greetings! I try to imagine a situation when you could use it fellows. :-D So you are walking on the street and meet a close friend and her/his older companion or someone you don't know. So you greet them like this Szia! (to your friend ) Jó napot! (to the person who's older or you don't know). Actually I would say Jó napot! first to be polite. ;-)