I get your point but I still don't agree with you.Consider this example:
We need clean drinking water. Here 'drinking water' is noun.This doesn't mean that we need clean 'drinking of water'. Similarly in the question it is 'Drinking milk' is source of protein and not 'drinking of milk'.
It's possible for "drinking water" to behave in two different ways.
In the example you gave, the noun is actually just "water." "Drinking" is used an adjective. It's common to say "drinking water" because it helps to clarify exactly what kind of water you mean: specifically water for consumption instead of, say, rainwater or water for watering crops, or for washing a car.
Consider the example "Due to his injury, even everyday acts such as drinking water are very painful." Here, the word "drinking" is a gerund -- an "-ing" word that acts as a noun. Notice that in this example, the meaning is in fact "the drinking of water." "Due to his injury, even everyday acts such as the drinking of water are very painful."
So, in option A, I read "drinking milk" as in the injury example above. In other words as "the drinking of milk" -- a gerund. And that's just one reason why I think A is wrong: the drinking of milk is not the source of protein, it's the milk itself that is the source.
Though perhaps technically correct, it's unusual to say "drinking milk" using "drinking" as an adjective to describe "milk." It might be more common if we needed to distinguish "drinking milk" from other kinds of milk, but I can't think of any other kinds, nor is that a common usage.
The big point here, however, is that the list "soy, eggs, and milk" is more parallel than "soy, eggs, and drinking milk." It would be more parallel even if you interpret "drinking" to be an adjective.
Rey Fernandez
Instructor
Manhattan GMAT