Hi A.
It could be just his age, its really common for toddlers and preschoolers to get "stuck" on 2 or 3 kinds foods. Almost all kids at this age are picky eaters. One child might only want to eat pizza and another might only want waffles morning, noon, and night. I've got 3 kids and 2 of them in their teens (13 & 14) and they are still picky eaters. They will eat the "C" foods, crackers, cookies, cake, candy, and cola. But cook veggies and you would think it was poison.
If you want him to drink regular milk put a little teaspoon (just enough for flavor) of chocolate in it. The doctor told me to do this when my oldest one wouldn't drink milk and I have been doing ever since. I buy the big size at Sam's club (or costco). Also try yogurt, cheese, and even orange and apple juice for calcium. I have heard you have to offer kids a particular food as much as 10 time before they will try it. Hope this helps.