Why I cannot say: Ja nepiju pivo?
Why would you say that, especially in Czech?
Because I do not drink beer. And it is something people offer you all the time. So it is a useful sentence to know. Plus it is easy to swap pivo with čaj, rum, mléko. Whatever it is you do not drink.
why is "don't" instead of "do not" marked wrong?
It should not be. All contractions are accepted automatically by Duolingo. We do not care about them. Sometimes a Duolingo bug rejects valid answers, although very often there was actually a different error in the answer you might have missed.
Why not: Já nepiju pivo? Sounds better, I think
"Já nepiju pivo" is also accepted.
Because that is the sentence that was chosen for this course The English sentence is its translation, not the other way.
Your word order is not "better", it just stresses something else.