Your puppy needs to develop a habit of responding to their name early, before they are more independent.
Your goal is to make your dog’s name mean the same thing as “holy cow” or “wow” or “eureka!”. Something that your dog can’t resist checking out.
Don’t use your dog’s name as a correction “Fido!” (get off the counter) and don’t use it to stop something fun - instead use it exactly as if you were exclaiming about something really neat - and then do something really neat.
Here are some examples:
1)I’m walking in the woods and I find a mole hole “Echo” I exclaim- and I start digging away at the hole - my puppy runs over to investigate and joins in.
2)I’m sitting in the living room and I say “Echo” and jump up off the couch and run to go outside - my puppy drops what they are doing and chases me out the door to go exploring.
3)I have some treats, and I throw one to distract my puppy - as soon as she gets it I say “Echo” and when she looks at me, I throw another one in a different direction for her to find.
The more different scenarios you use this word, the better your dog will learn to tune-in and orient to you on the sound. Highly reinforce it - it does not have to mean they should come to you - but that you will get a head turn the instant they hear it - anticipating something really cool.
Name recognition usually gets corrupted by giving the puppy too much freedom to choose to ignore it. For example, If your puppy is playing with another pup, have them on a ribbon so you can collect them up, begin to play with them, ensure you have a good way to compete for their attention - pause, for one second until they look away at the other puppy, then you can use their name and start a game with your toy to reward them for looking back to you and away from the puppy. This will work so much better than “puppy, puppy, here puppy, here, here, here, puppy, PUPPY!”