To digest food, dogs need bacteria in the gut. Different bacteria for different foods. It's called copraphagia and lots of animals do it, including horses occasionally.
If you think about it, cows eat their own vomit (rumination) and hares eat their own dropping as normal feeding behaviour. Just because humans find it repulsive doesn't mean it isn't perfectly natural!
You could try changing the food. Or doing a Google and trying one of the umpteen sure fire cures! Me? I just look the other way and don't let my dogs lick my face!!!!
While you are at it, consider how they deal with their hygiene!
I love my dogs but one of the first things they have to learn is "Go away!" The last thing I want is a dozen noses and tongues in my face every time I bend down to tie a shoe lace!
Seriously, though, I asked an enterologist (specialist in bowels!) about this as I'd heard it was all about topping up with the correct bacteria, and he confirmed that the story is probably correct though he wasn't aware of any scientific papers on the subject. So there you go. Strange but (probably) true!
Lots of reasons for copraphagia but it is quite common in puppies as they sometimes pick it up from the Mum who will often clean up after them. Make sure you don't leave any poo lying around, clear it up as soon as you can and don't leave pup out in garden unsupervised to prevent them searching it out and eating it. Some pups are naturally clean and if they poo in their crate will clean up after themselves.
Used to hate it at work and with dogs that were severely copraphagic you sometimes had to fish the poo out of their mouths to stop them eating it (YUK!)
The most difficult behaviour to change is what animals do naturally. I worked with an animal behaviourist in trying to eradicate this habit. I dosed with Lithium Chloride which is a tasteless odourless chemical that they use to sicken alcoholics off drink. It was a complete waste of time. It didn't work.
This is a perfectly normal and natural thing for puppies to do. As said already some do it due to a deficiency in their diet (If you've got them on a high quality dog food then this isn't the case) Some do it to help 'tidy up the den' and others just do it because they simply like the taste. Nip it in the bud now, monitor him when he goes to the toilet and if he goes to eat it tell them off, it helps if you have a leash on at this time so you can correct them properly with a small tug. If you are unable to monitor your puppy at all times, then you can either feed them pineapple, which they love the taste when it goes in, DESPISE it when it comes out.. Or you can pay a visit to the vet to buy some powder or pills that your dog eats and makes their poo taste bad.