Puppies should have... well... puppy breath and not a stinky one. Teething can be a source of bad breath but it doesn't have to. The smelly coat comes probably from the food b/c there are a lot of gross things in it like uncleaned intestines, roadkill, and animals that are not fit for human consumption. One of the best foods is
Orijen and you might think of switching.