H.W.
I won't type this in 'all caps', but seriously-- **do not worry about this**. I have worked with kiddos and babies for a long time. Over the years, people have become extremely worried that their babies aren't 'catching on' fast enough. The whole concept of developmental milestones is supposed to be more of a loose guide, with a tolerance of one or two months on each end (from my understanding and from what I've witnessed over the years, most kids do fall into this spectrum, some earlier and some quite a bit later); instead, pediatricians and parents get worried if their babies aren't exactly where the chart says they are supposed to be.
Read to your child, when you can, from simple books with very simple text. Often, just identifying the things in your world is the very best way to provide rich language exposure. One of the things I do with babies and toddlers is narrating our life. This prepares them for transitions, involves them in what's happening to them, and offers up lots of whole language. "It's time to change your diapers. Here, I'm going to get a diaper out for you. Do you want to hold it? You are holding the diaper in your hands. Here we are at the changing table. Let's lie down. Time to take off the wet diaper..." etc. etc. etc. Describing what's happening in real time gives meaning, even if they can't repeat things back.
Another fun thing to do is to take a 'tour' around your house, holding the child at times to look into a cupboard "Here are the plates. A tall stack of plates. These plates are blue." or "Here is the window. Let's look out the window. I see a big tree, right there. The tree is so tall."
Lastly, I don't know all that many 16 month olds who could pick out the appropriate flash card for the question you mentioned. Most kids at that age would just want to grab the card and explore it, put it in their mouth or bend it, or put it into something. It sounds like if your child makes the connection of wanting a drink and going to to get a cup, he's fine! :)