This puppy would appear to be telling you, in very clear terms, that he is not happy in some situations. You would do well to listen to him, imo.
Socialisation is not making him have several encounters he is nervous about in the hope he gets used to them. It's giving him a wide range of positive (or neutral) experiences to help form a good (or neutral) opinion of things/people/animals he will encounter throughout his life.
Right now he is having stressful experiences and learning that growling, barking, lunging is one way to get them to stop. Please don't let him learn this any more. Spaniels, especially, can easily be oerwhelmed with heavy handed socialisation and it is then a long, hard and upsetting journey to get them back on track.
As he is almost out of the socilialisation window anyway I think you would do as well to massively slow down and reduce his exposure to things and go at his pace.
For me that would mean limiting walks right now to very short periods of time that you know he can enjoy and cope with. For example, perhaps only taking him outside the front door and having a little play or training session on the front lawn (for e.g.). When he shows you he is actively enjoying that, then start to venture down the street. Slowly build up to a fuller length walk - only ever increasing the time and duration when you can see he is 100% happy with the stage he is at.
If you have to pass a dog, do it at a distance he is comfortable with. If he reacts then he is too close.
Remember that what he can cope with will reduce the longer is is kept at a stressed level - so he may cope with things better after 1 min of walk than after 20 mins of walk. Similarly, he will cope with things better if his day is otherwise stressfree than on days that are a bit stressful alrady.
At such a young age he should be easy to turn around but please go at his pace. Better spend a long time now getting it right that have to spend time and energy when he is older and the behaviour more ingrained/escalated.