This is about where DD was at 16 months. At 18 months she regularly said three words: baby (weirdly self-referential), ball, and cup; I don't think she even called us mama and dada yet, or at least not frequently. Her receptive language was great - she clearly understood most of what we said and could follow simple instructions - but she didn't say a whole lot, or at least nothing comprehensible (she babbled a lot). DH and I are both very verbally oriented, so we were somewhat concerned. I brought it up with her pedi at her 18 month appointment and she said kids often have a verbal explosion between 18 months and 2 years; she wasn't worried because DD was fine developmentally in every other respect. And she was right. The explosion happened around 20 months. At her two year appt. her pedi asked how many words she knew, and at that point I couldn't even count. (And she hasn't stopped talking since!)
Ask your parents and your DH's when you started talking and if your family has a history of late talkers. After DD started talking (naturally we didn't think of it before), we asked our parents and they said we were both late talkers.
Also, you're working hard on vocabulary; if he understands all these words when you say them, even if he's not saying them himself, that's a good sign. The words are in his head and will come out when he's ready.
DS is almost a year old and isn't recognizably saying any words. I know some kids do at this point. Within reasonable guidelines, there is a lot of variation and you will drive yourself crazy comparing your kid to others.
I'm not trying to be dismissive if there's a real issue, and definitely bring it up with your pediatrician at his next appointment, but more than likely your DS is just fine and will be talking more than you can imagine in a few months.