This question was answered some years ago, but it was answered too simplistically.
Zero (the absence of value) is intrinsically partitive, which means the word it modifies must be expressed in its partitive form.
It may seem upside-down and backward to consider "zero" to be partitive, but it is. It can be thought of as, "an infinite amount of nothing" or, in other words, you do not know what value could be represented if it were not zero. Whenever there is ambiguity, the word is partitive. It may seem counterintuitive to think of zero as ambiguous, but linguistically (and if you'll forgive the religious reference), "only God can know if there's really nothing there."
My best example? "The cup is empty." Even in the vacuum of space the sentence is factually false (there are particles in the cup), despite being contextually true (but none of them are water).
Linguistic precision is the playground of lawyers. Even scientists don't care, and needn't care, to so great a degree. The law, however, is only expressible with language — and language is by its nature imprecise.
Most nouns take their partitive form by adding an "s."
I have zero books.
I have no books.
I haven't any books.
However, some words require additional context to understand their partitive construction. For example, the word "value." Are you talking about the value of a pound of flour? or the number of values assignable to a mathematical variable? or are you discussing human morals?
It has no value. (A pound of spoiled flour.)
None of the values are correct. (Mathematical variable assignments.)
He has no values. (Moral attributes.)
Likewise, from a comment to the question:
I have no tolerance for that. (The ability to withstand influence.)
No tolerances were specified. (The limits of applied influence.)
Therefore, as a general rule, the word following the number "zero" or the word "zero" must be partitive, and that explains why some words appear pluralized after the word "zero:" because they're in their partitive form.
The Curious Case of the Word "No."
Although I used examples with the word "no" (and similar constructions), it should be noted that the word "no" is NOT consistently and predictably synonymous with the number or word "zero." It's more flexible. Think of it this way: the number and word "zero" will always mean "the absence of all value," but the word "no" can mean "the absence of one."
Consider the following examples provided by @PeterShor:
The car had no driver.
The car had no drivers.
Both sentences are valid.
The first sentence makes no assumption about the number of people who could be available to drive the car. Indeed, you might use this sentence because you want to focus on a condition of the car: there is (generally speaking) only one driver's seat and one steering wheel. It can be said the car in this construction is more imporant than the availability of one or more drivers. Thus, in this construction, "no" means "the absence of one."
The second sentence does make an assumption about the number of people who could be available to drive the car. Indeed, you might use this sentence because you want to focus on the availability of a pool of drivers (such as the driving staff at a pizza delivery business) rather than on the fact the car isn't being driven. It can be said the availability of drivers is more important than the car in this sentence. Thus, in this construction, "no" means "the absence of many."
However, "zero" always means "the absence of everything" and therefore the modified word must always take the partitive form. Thus, "There were zero drivers" is correct and "There were zero driver" is wrong.