I am writing a story in which at some point two characters with the same name interact each other. I can't use their last name to differentiate because it's necessary for them to have no last name. There will also be no mention of the physical appearance of those characters, so, I can't use terms such as "Tall John" and "Short John". Only thing in the story is that one of the character will be in the first part of the story and disappear in the middle. Another character with the same name will take the center stage when the character disappears. Later they both meet and interact. So, to address each during that interaction, will it be right to say "New John" and "Old John" ?
In a written medium, your readers can only identify your characters by what you give them. We cannot "see" your characters. So, if at any point in the story there's a John, and then again there's a John, they're the same John, unless you give us something else to distinguish the two Johns.
"Something else" might be a surname. It might be a nickname. It might be that one is called John, while the other is Johnny. It might be that one is called, for instance, Long John, all the time. That's important - he isn't just Long John in that one scene with the other John - Long John is his "name" all the time. You need to maintain the distinction between the two characters all the time, not just in the one scene they are together.
Calling a character "New John" because he appears later in the story is meta - it's a nickname related to a story feature, it doesn't make sense inside the story. It's something you can only do if the narrator is also very much a character. By using a meta element, you're drawing attention away from the story, and to the act of storytelling. Thus it only makes sense if that's the effect you're deliberately trying to achieve.
Otherwise you'd have to consider giving the two characters some sort of nickname or pet name or similar, that makes sense within the story. Then use that consistently as the character's name.
Any time you get two or more people in a group (or a family) with the same name, they are almost immediately given a nickname or some extra appellation so everyone knows who is being talked about.
As an example which I used in a different answer:
Take an Italian neighborhood with five friends all named Joseph. One will go by Joey D (for his last name). The second is Joe the Hammer, because he's a carpenter. The third is called Joey Goombatz because he picked up the nickname in second grade and nobody has ever called him anything else. Number four is called Joe Kings after some ridiculous incident at the old Kings Plaza mall, and when the fifth Joseph moved into the neighborhood the guys heard his father calling him Jo-Jo, and it stuck.
In a family with five cousins/uncles/brothers named Joseph, you might have Pepe, Pippino, Zio Pippino, Pippo, and Giuseppe.
"John" in and of itself is so common a name that it's almost inevitable that one John will run into another, and they will have to use some distinguisher. I have known a Tall John and Short John, a Gimpy John to separate him from Tattooed John and Curly John (his hair), and John Jay.
John specifically has a wide array of cross-cultural appeal, originating from Hebrew and having a variant in just about every European and Near Easter language family. It's super easy to solve your problem:
They aren't spelled the same way
John in English has a varient spelling of Jon, most famously used by the owner of Garfield in the comic and various spin off media. One of your John's could be "Jon" and thus Jon and John are meeting. The name Jon is pronounced the same way in English as the name John.
You don't know Jack
Today, it's now it's own name, but back in the day, a common pet name for a John was "Jack". So your character of John Smith can prefer to be addressed as John, but your character of John Jones would prefer to go by "Jack" and would be fully written as John "Jack" Jones.
A John by any other Name
Especially true in American Culture, but it's not unheard of for foreign immigrants to go by Anglicized versions of their names, especially when trying to blend in. This is especially common if their name is indicative of a society that in the U.S. or other local might not be in vogue at the moment. For example, a Johan or Jean (German and French respectively) would perhaps go by John. In the case of the former, this happened often during both world wars. In the later's case, Jean is seen as feminine name in English, but is Masculine in French. In fact the French proncunciation sounds like John (JI-on) while the English pronunciation sounds like a type of pants (using a long e sound). The hero of Star Trek: TNG, Jean-Luc (pronounced John-Luke) was once mispronounced as John-luck by a character feigning ignorance of the correct pronunciation, as a person who never heard the name might do. Another character with a different name, Piort Rasputin, aka X-men's Colossus, would frequently go by Peter, an anglicized version of his name, especially during the years he was introduced, when his native Russia was in a cold war with the X-men's home nation of the United States and Colossus was firmly a hero to the Americans. The end of the cold war saw him return to using the name Piotr more frequently. These behaviors are common among immigrants, or second generation immigrants with more traditional names (your parents came to the U.S. gave you a goofy cultural name, and you want to identify with your All American friends). This is not as in vogue today, but there are still names that come up. For example the Spanish name Giancarlo is fairly common, and frequently shortened to Gian which is pronounce close to John as well (the full name is often pronounced John-Carlo, though I've also heard a Jean-Carlo pronunciation. I attribute the difference to accents from their native region.).
So it's entirely possible for two characters to go by "John" but spell it wildly different.
And finally, you can always refer to one as Johnny (usually the more funny of the two) and the other as John. Just make sure you always call John Smith "Johnny" and never call John Jones by that name.
First I would ask, Why are you creating two characters with the same name? It creates the problem that you are asking about: how do you distinguish them? Is there some reason why both characters must have the same name? Is the name significant in some way that the story wouldn't work if one of them had a different name?
If your answer is just, "I thought John was a good name for both characters" or "I like the name John", I'd say: Just don't. Give one of the characters a different name.
If the reason is because characters in the story are confused by them having the same name, then okay, it's necessary. Or let's assume there's some other reason why both characters just have to have the same name.
Then you have to introduce something to distinguish them.
I agree with Galastel that I'd discourage "Old John" and "New John" unless they are "old" and "new" within the story. Like, if the story is about people working at a particular company, and there's a guy named John who works there for years and years, and then on day another person named John is hired, maybe other employees would call them "Old John" and "New John". It doesn't seem all that likely but it's plausible. But if the characters wouldn't call them that, if they're not "old" and "new" to the characters in the story, such labels just call attention to your narrative problem and away from the story.
Think about what people do in real life when there are two people in their "group" with the same name. Often one of them gets a nickname. One of them is called "Red" or "Lefty" or whatever. Or one gets a variation on the name. He becomes "Johnny" or "John W" or some such. Maybe one goes by a middle name. Etc.
BTW, Jesus had this problem: Two of his disciples were both named "Simon". So he gave one of them the nickname "Peter". When it was necessary to be clear, the other was called "Simon the Zealot" because he was a member of a political group that called itself the Zealots.
You said you haven't given physical descriptions so you can't call them, say, "Tall John" and "Short John". Is there a reason why you can't give physical descriptions that will allow you to create such a nickname?
I haven't read your story. Maybe there are good reasons for all the decisions you've made. But it sounds like you're saying, "I've made a bunch of decisions that combine to create a problem. How can I fix the problem without changing any of my decisions?" Like, "I nailed my shores to the floor and I refuse to wear a different pair of shoes or go barefoot. How can I walk around with my shoes nailed to the floor?" :-) The simple answer to such a question is, "Either pull the nails out or wear a different pair of shoes."
If you’ve made sure beforehand that the reader understands that two different Johns are present, calling each one simply “John” could be fun. To make sure the reader knows which is which, include indirect information. Examples below.
If one John just finished a long trip, while the other just got rest :
— Hello, sir, said John tiredly.
— Hi, John answered.
— Would you happen to know where I can find a motel in this town?
— You don’t recognize me?
— Should I?
— I’m John.
— Well, so am I. Not that uncommon. Now, if you don’t mind, I do need to rest.
If the scene happens in one of the Johns’s home :
Sitting on his bed, John shouted at John: “Who are you?”
If one John is much older than the other :
“When you get to the age where all your friends are gone for good, you come back and tell me I’m wrong”, said John. John replied gently: “I’ll come back and you won’t be there to hear me.”
You could give subtle mannerisms which are unique to each one (such as over-blinking, or a stutter). When they, have those mannerisms play out so that the reader knows which one is speaking at the time. It could be quite enjoyable for the reader to figure it out themselves (so long as it isn't hard work).
This answer is inspired by the novel "The Gone Away World" by Nick Harkaway. If you haven't read this book, I highly recommend you do so, not only is it an excellent read, it might also give you some ideas of how to deal with your situation.
Also, if you haven't read The Gone Away World, major spoilers ahead, as my suggestion here is effectively the entire crux of the big twist at the end of this story.
You have been warned, spoilers ahead:
For the purposes of clarity, I will refer to the Johns as John 1 and John 2, but I am not suggesting you adopt this approach in your actual story.
Have the story written from the point of view of John 1, but never actually mention the name of this character. When John 1 disappears, you can then talk about John 2 as just "John" without any confusion. Then in the final act, reveal that they both have the same name - this will act as a nice twist in the story as well, as the reader won't be as readily aware of the connection between the two characters.
You could have a look at how this is done in Sarah Pinsker's story "And Then There Were (N-One)" which has (almost) all the characters with the same name. They can be identified by different things about them such as where they live, their job, their physical characteristics....
Try choosing something that reflects the attitude of the narrative voice and establish a difference as soon as it's needed. For example:
Slutty Susan took a long vape hit and Susi queen bee just rolled her eyes and shut the door. From then on, Susi-q kept the upper hand.
We can change the writing styles. For Eg. if we are talking about first person (with same name as second ) we can use bold letters, and when we talk about second person (with same name as first) we can use same style as given in story.
Maybe you could name them as John1 and John2:
"Hi, I'm John." John1 said.
"No, I'm John." John2 said.
Or maybe First John and Second John.
"Hi, I'm John." First John said.
"No, I'm John." Second John said.
And maybe when they are talking to each other they start using nick names for each other, like "Johnny come lately", "Johnny boy", "Red John", "Black John", "John Q. Public", "John Doe", etc., etc. And maybe each of them often addresses the other with the nickname he chose, so that when one uses the nickname the reader knows he is the one who gave the nickname and not the one named by the nickname.
And maybe part of the conversation will be the John who was first seen in the novel telling the other John about his life and experiences, including the ones the readers have already read about. And the other John may ask him questions about those experiences the readers have already read about, thus showing that he is not the first John.
And maybe the second John will tell the first John about his life and experiences, which the readers won't know about, and which will be different enough from the first John's experiences that the readers will know he isn't the first John, and the first John will ask him questions about them, which shows that he doesn't already know about them and thus isn't the second John and so must be the first John.
And possibly of a combination of those techniques, and maybe also using different typefaces for the speech of the two Johns, will keep the readers from getting confused.