He's still a puppy. Worse, he is an adolescent puppy. Unfortunately, dog training (and dog-learning) isn't linear. He will be able to do what he is able to do when he's ready. If you've got good, reliable training help, just take a deep breath and stay with the program. Fo now, work on your loose leash walking in a quiet, not over-stimulating situation. Go for your street walks without him. It' really bad for him not only from a training perspective but in terms of his health, to be pulling on his neck like that.
Some dogs a "food oriented" from birth. Others need to be taught that the food is a reward over time, with consistent training. But in a case like you are describing, he's so overstimulated that he can't even respond to the treat as a lure, let alone recognize it as a reward. If the behaviors you want are not rock solid in a quiet, non-stimulating environment (which COULD be in the bathroom with you!!! LOL!) you don't have a prayer of having him respond appropriately on the street. Then, when you KNOW he knows the behaviors in a quiet setting, start SLOWLY generalizing, a small step at a time. That might be that you do it in the kitchen next, then every room in the house, then in various rooms in the house with another person present, then in the back yard alone, then with a person present...
We have a saying at our training school. If things aren't going well, ask your self, "Are you going to far or too fast? Are you asking too much, too soon?" ...shortened to TFTFTMTS.
If the dog doesn't do what you want, they usually CAN'T do what you want under those conditions at that time. And it's up to you to back it up until to reach the point where they CAN, then go forward more slowly.