I have trained, shown and raised dogs or been around dogs being raised and shown, my whole life. That's a lot of years, ask my 28 grandkids. I may not have finish school but I studied Veterinary Medicine at UC Davis, also a lot of years ago.
I've trained more dogs than I would even dare to count. Most where working or show trained. You can't show a neutered dog in the ring. That's training, not hormones. Most owners cause their own dogs to have aggression towards other animals without even realizing they are doing it. Small dogs are usually more aggressive because the chance they may be injured by a larger dog is something that causes the owner to develop the problem without even realizing it. Even though I think little dogs have little man syndrom too. LOL
Without proper socialization that should start early and be something done constant through the entire life of the dog, the issue gets worse.
You have your dog out and it see another dog and moves towards it and most people will yank their dog and yell "No!" Then you snatch the little dog up. This tells the dog that what it had an interest in is bad and that even you are afraid of it. It's something bad and the dog gets to the point that it needs to chase it away or challenge to protect. Every time you do it you reinforce the behaviour, so when you go for a walk or to the pet supply and other animals are there you continually cause the problem to worsen. When the dog does something wrong it's "no" and when that bad cat, other dog, child are looking interesting it's "no."
I teach everyone to forget "no" for most things during training. I also tell everyone that my favorite command is "leave it." It means it isn't wrong, but it's not the time and you need to be paying attention to ME. "No, is for something that should not be happening. "Leave it" is just that. Leave it alone and mind your business.
Neutering an older dogs has been found to actually increase the occurance of prostate cancer as well and cause cause a few others. Also neutering to young can increase the chances as well. Same with spaying with a female.
There are breeds that do tend to have an increased dislike for other dogs. Most you can train through the problem, but I'm not talking about going to those
Petco training classes. I mean real training. Then it has to be reinforced and sometimes retaught. Persistance is key with training whether you are just starting out or your dog is 17 years old. You have to keep reminding them.
I hope you can figure out what the problem is with your boy. Neutering is up to you, but it isn't going to correct a 2 year old problem. If you aren't breeding or showing, then yes neutering is always the way to go. Plus your dog has a temperment that shouldn't be bred into a litter, so like I said, it's your call.
I have raised mainly large breeds. GSD, Dobies, Rotties, Akitas and now Cane Corsos (Correctly they are Corsi if plural) and I can take any dog I've trained is say protection and once called off can walk them through a playground full of kids or a group of loose dogs and that dog doen't do anything unless told. Those of us with larger breeds know we need to have full control. OK there are some that don't get that, makes it hard on the rest of us. Owners of smaller dogs most times don't realize that their dogs need to be just as obedient. This is also dangerous, since most attacks by a large dog on a smaller one, is because of lack of training for the smaller dog, who is probably showing aggression. Not saying that's 100%, but I'd give it 98%.