As so often, both languages allow essentially identical variations for expressing the same thought, with almost identical little nuances of meaning differentiating them a little. Normally there is no need to pick a different variation when translating.
Maybe it should be accepted, but if you choose a different construction when translating, it's usually an indication of incomplete understanding.
PS: What should definitely be accepted, though, is "All horses have tails". For some reason English speakers tend to be more formal when using this construction even though it causes a loss of information. Therefore "All horses have a tail" is only borderline correct. "Every horse has a tail" is another way of fixing the translation, but as I said before, its disadvantage is that it maps to another Dutch sentence. Of course you can also say "Alle paarden hebben staarten", but I guess that in Dutch just like in German this would cause some jokers to ask how many tails each horse has.
I pretty much agree with you.
In English, one mostly avoids saying "all . . . have a . . . ," unless one means that those things collectively share one object between them. If you use this construction, you must be prepared to elicit a jocular "Man, just one tail? How do those horses run?" from people who are fond of parsing language (this would be a typical "Dad joke" in our house), or cause confusion if the object CAN be shared (less likely to actually cause confusion here, since no one really expects horses to share tails). You would be more likely to say, "all . . . have [plural noun]" or "every/each . . . has a . . . "
For the purposes of learning this lesson, it's probably good to understand that this is how Dutch does it, and also good to demonstrate we understand the individual words. I don't know how Duo should best handle what answers they accept: translation seems a constant dance between the sense of the letter, and the letter itself. Is it more helpful for us to have a literal translation so that we get a feel for how Dutch works compared to English, or a looser translation that satisfies our English?
Thanks for pointing this out. I didn't take this difference between English and Dutch into account with my earlier response, so I had to correct my own earlier response. I believe in the Dutch logic, "Alle paarden hebben staarten" could cause very similar reactions to what you describe. ("All horses have tails? Really? I have never seen a horse with more than one tail!") At least that's how it works in German.