Growling is not always a sign of agression. It can only be, your dog is saying, hey I don't like what you are doing! Get lost!!
Remember that this is the way they communicate.
But... you need to look at the whole picture. Read your dogs bodylanguage and the bodylanguage of the other dog.
With puppies, well some dogs just don't like those little things... they have no manners, jump up in your face, get in your way...
What are the dogs like, that he growls at. Are they high energy? It might just be, he doesn't like having busy dogs around.
Or do these dogs have a high posture, meaning high held tail, coming at him with a lot of attitude? It might be, he wants to tell them not to mess around with him.
And it might be a male thing, yes.
Another thing it could be, is protecting you. Are you near your dog, when this happens? Does he position himself between you and the other dog? If that is the case, just walk away.(bit hard, when he is on leash...)
Problem is, there are sooo many reasons why a dog reacts to another dog. And often we misread or completely miss bodylanguage.