Maybe cut down on the milk and see if he will eat more. The milk could be too filling, causing him not to be as hungry. Maybe try that for a day or two and see how it goes. If it doesn't help, then continue doing what you're doing to make sure he is getting his daily nutrients and vitamins. Maybe call his pediatrician and see what they say.
Could there be a psychological issue as well?
Do not force the issue of trying new things. When he is in school and sees the other children eating new foods and smells them, he may want to try them. Seeing other children eat different foods and smelling them is the way he will eventually start to try new foods. Take is from an adult who was a very fussy eater as a child. I did not try a McDonalds hamburger until I was 12, same with a potato. As an adult, I eat many healthy foods now. Vitamins are best when dealing with a fussy eater. My daughter who is 5 is also a fussy eater, but loves her vitamins!