Both are grammatically correct, but the meanings are slightly different:
Я хочу молока (genitive) - I want some milk.
Я хочу молоко (accusative) - I want (this) milk. I have a choice of drinks offered to me, and I am choosing milk.
Hope this helps.
Yes, but in this sentence, isn't the milk the subject and therefore has to be nominative?
No, it's not a subject. The milk does not want itself. The explicit subject is missing in this construction - this is hard to imagine in English, but not so uncommon even in languages close to English, such as German. Since you study it as well, you may recognise examples like "Mir ist kalt". (The subject - "es" ("it") is implicit.)
That actually makes so much sense! After I posted my question I realised something was wrong but couldn't figure out what - thank you :)
Even in English it's not so hard, just a little more removed in thinking: "It would be nice for the car to have" = "The cat would like [to have]....", or "one wants for the cat (to have) some milk".
It's not normal English, but if you read some 19th Century English literature. you can come close to the Russian in intent.
Your example seems to illustrate a different construction. Subject (nom.) + хотеть + direct object (acc.) is a familiar pattern from previous exercises. But this sentence is different. It appears to be Indirect object (dat.) + хотеться + subject (?). If the milk isn't the subject, as per your below comment, what part of speech is it?
Because the genitive case can also convey a partitive meaning: молока=some milk / a little amount of milk
It would be perfectly correct if you changed молоко to молока (see my earlier commend on the difference in meanings between accusative and genitive cases here). That said, the reflexive construction still sounds slightly more natural to me.
Because the cat is very polite and well-mannered, and never "wants" anything, but evermore "would like" something - or, more precisely, is in such a social position that the noble beast assumes - rightly so - that "one wants for the cat some milk" - "one" being whoever is there is wait hand-and-foot on the deserving animal. Such is a cat's existence...
It's the indirect object, so it needs the dative case. Literally it means something like "To the cat is wanted some milk" if I'm not mistaken.
Partly for the same reason it can't be "The cat wishes some milk", which is given for me as the Correct Answer: because in English "wishing X" is just not a thing. Wishing for? Sure. Not just plain wishing. Unless the subject has psychic powers and is "wishing X into existence." But that's an entirely different story.
It was there by mistake, I've removed "wishes" from the list of acceptable translations.
Btw, you can "wish something" in English, but that something has to preceded by an indirect object: I wish you luck.
Кошка желает молока.
Different verbs in both languages and, besides, they sound strange to me in both languages in reference to a cat.
Given my first point - "wishes" is an inaccurate translation of the verb "хочется", the article "a" will not fit into a more accurate translation. "Хочется" is the verb that is used to describe a current state of a subject. So unless you are absolutely certain that any given cat presently wants milk, "a" would be a poor article choice.
They are not that different; I can't think of a situation where I could use one but not the other. My personal preference (perhaps not universally shared) is to use "мне хочется" to describe my whims or momentary desires (Мне хочется воды) and "я хочу" to describe more sustained and meaningful wishes/desires (Я хочу поехать в Перу).