A lot of people have to work at getting poops firm, so you're ahead of the game there, that's a good thing!
As for amount of poop... that could be due to over-feeding, or it could be due to too much 'filler' (unusable material) in the kibble. Since he's currently self-regulating (not eating any and all quantities available) - assuming he's staying lean on those amounts - I've vote for filler... but... you're not feeding a lot, so it might just be a growing puppy issue, too.
I"m not sure which flavor you're currently feeding... but Natural Balance has lots of different recipes. You can try different recipes in the same brand with a pretty quick transition (normally) - try one with a different starch (potato versus rice, legume versus sweet potato, etc.), and see if he does better on one versus the other. Or, with a slower transition between foods, you can try different brands.
He's also still just a baby.... so I think things transit through faster than they will as he grows. So if you like the food, and he's otherwise doing well on it, I'd just give some time and see how things develop.
Note - Dogfoodadvisor gives Natural Balance a 3-star rating... not awesome, but not terrible, either....