Everything you listed is a temperament/training issue. Without more information its tough to say if he's always going to be reactive to other dogs, but at this point it does sound like he'll never be alright with other dogs approaching him while he's on leash. What you're seeing is leash reactivity and it stems from fear. Your dog understands that he can't run away from the situation so he starts to be the aggressor in order to show the other dog that he's tougher and that dog shouldn't come near him.
The human thing seems to be getting better and should get better with age and more training.
My opinion is that neutering him will probably help. It will calm him a bit, it will probably get other dogs to react to him less. Having that extra testosterone probably doesn't help his case with other male dogs right now.
CD RE TC HIC 7/10