"You drink a hot chocolate."
Translation:Tu bois un chocolat chaud.
Technically, you're correct when saying that "Tu" isn't necessary. You could use "Vous," but that would be formal. None the less, "Vous" is still correct. My guess as to why it was counted as incorrect is that Duolingo uses "Vous" in the plural sense, and not really the formal sense. The program doesn't really identify/pick up on formal sense too well, in my experiences.
'Vous buvez' should be accepted. It's exactly the same in plural and formal singular, BTW.
It's the same spelling but a slightly different meaning. Perhaps Duolingo programmers want students to have the ability to use the informal singular and worry that accepting vous everywhere will cause learners to use vous whenever they see the word you .
Instead of teaching you that the formal use is incorrect, perhaps the questions should indicate which form they want the answer in. E.g. next to the answer box, indicate "formal/informal". Just a thought...