I think the weirdness comes from the fact that this is not really a conversation, in the sense that it is not an exchange of information between people who intend to be talking to each other.
In some cultures (including the US, where I am), it is considered friendly to acknowledge someone entering (and leaving) your store with some kind of greeting. Asking after their health or well-being is a formula; practically no one expects you to answer the question in its actual meaning.
This is part of a set of formulas that I think practically every culture has for conversation in one way or another. There are papers written on the subject. In this case, perhaps you could think of it as the speaker's way of letting you know that they have noticed you and are free to talk with you; you can reply with any formula of your own ("fine", "ok", "better than a sharp stick in the eye") to acknowledge that they have spoken; if what you say sounds enough like a formula itself (the first two, not the last), then you will not be expected to continue a conversation.
But if you came into the shop looking for something you wanted help with, the fact that they said something might help you know they were free to listen to what you wanted at that time, in case you would otherwise have been shy about asking.
Emails are not like phone calls; they are more like letters.
With email, the recipient can see your email address or, in some cases, your name before reading the email. (For a letter, you would add a return address on the envelope.)
Just like with letter writing, it is typical to sign your name at the very bottom of an email. If you enable the option to automatically add a signature (which most email apps have), it will be added at the bottom.
The exact way you sign will depend on context.
If you're writing an informal email, you might write only your first name, first initial, or not include a signature at all. Chances are, your friends recognize your email. With informal email, you have a lot of freedom all around, but most people will expect a signature to be at the end (if you include one).
I also don't bother writing my name (or anything much) if I'm sending emails during a conversation with the person. Usually this comes up when working on separate computers, and a file needs to be transferred.
There are two different levels of formal email, at least in my mind.
If it's more casual, such as an email from me to my professor, I will sign it with just my name at the bottom (and I also exclude the "Dear" at the beginning). I may or may not sign my last name, depending on how well they know me (since my name is unique).
In a really formal email, such as one to a company with a job application, I sign with some variant of:
Sincerely,
Name LastName
You can read more about formal email writing here.
Best Answer
The question is broad and actually opinion based. Nevertheless, let me share what I practice.
We address people with Hello in emails quite commonly and this can go for every email you write or respond. However, if you are responding merely with a sentence or two, addressing person directly with their name (as John might have done in this case) is okay.
In another case, if it's the same conversation (more like a chat) having 2, 3 or more mails, I drop Hello and directly address the person with their name.
In this case, as I already said, you may choose any option - Hello John, or John. But if you want to sound a bit formal, go for Hello John,