Not unusual for a 7 month old puppy
I know it's not fun. But that sounds pretty much like all our puppies have ever been at that age. Time and exercise will work that out of him.
Pulling is a real problem with them when they get strong enough to really pull. My Zeus used to put his head down and pull like a sled dog.
I takes time, but constantly reinforcing the rules of walking will ultimately win him over. Here's a couple of tips though.
Walk him in the street with the traffic and you between him and the curb. This will keep him away from most of the things they like to sniff and will improve his focus on you.
Wear light weight trousers or shorts and put smelly treats in the pocket nearest him. Give him one once in a while when he's doing things right. Use a clicker to signify the right behavior and reward immediately.
Use a choke collar and correct often. Ultimately, it gets through.
Use a short 6 ft. leash and helicopter it in front of him when he tries to leave close heal. I don't recommend hitting him with it deliberately. But he will sometimes walk into it and get a light whack. That will keep him beside you instead of in front of you.
Every time (AND I MEAN EVERY DARNED TIME) he pulls away from you or gets distracted or actively pulls pull him back into position while wheeling around 180 degrees and issuing the heal command (Fulligan for ours).
I've done this so much that sometimes we did nothing that day but wheel around. It's pretty frustrating and no fun. So, be careful not to get angry and transmit that emotion to the dog. Just calmly walk him home and put him up.
BUT THE MOST IMPORTANT THING TO WITH A YOUNG DOG WHOSE LEARNING HOW TO WALK LIKE A GENTLEMAN IS TO START THE WALK OFF RIGHT WITH THE DOG IN A CALM AND SUBMISSIVE STATE.
I used to see all the sort of excited misbehavior you describe until my breeder told me to do the following. Firstly, if he won't be calm about being collared and leashed or if he acts up while you're trying to prepare him for a walk stop...wait 10 minutes...start over...all the while remaining calm and commanding.
Secondly, once you're out the door and have issued the heal command if he pulls it's game over until he settles down. Pull him to a stop by very aggressively pulling the choke collar. Do this several times until he's paying attention to you.
Then make him sit and stand in front of him blocking his view and say "Easy, easy, easy" while waiving your hand in front of his face like he was an errant child until he begins to calm down. I don't stop this until he finally looks up at me instead of looking around, drops his ears back in submission and tries to lick my hand.
Rinse, repeat if he starts pulling again.
Then walk him briskly. About 90% of my problems walking with Zeus when he was younger was eliminated by me simply walking faster. Plus I lost some weight.