Because of the 'nie'. Negated verbs usually take genitive (wody) instead of accusative (wodę).
Can't we say "he drinks no water"? If I translate this sentence to polish using google translate, it gives me "Nie pije wody". Is this correct? If it is, then isn't my translation equivalent to the given one?
It's because "nie" comes before "pije" so it negates "drinking", changing it to "not drinking." To negate water, just like in English with the word "no", "nie" must come before "wody."
But I reckon one can say "On pije nie wodę." (He is drinking not water but something else).
Well, in theory... it's hard for me to imagine someone actually saying this. And I wonder if it wouldn't be spelled as "niewodę". Generally safer to say that it's just wrong.