It depends....
The statement "A sample must not contain more than 2% contaminants to be pure" is ambiguous as you have pointed out. To understand exactly what that means requires further clarification.
First if expressed as 2% contaminants I'd expect that anything less than 2.5% would be acceptable. The point being that 2.0% contaminants is really a more stringent quality goal.
The statement "at most 2% contaminants" brings in a different sort of flavor to the problem, and gets closer to reality. As a supplier I don't to buy or manufacture 99.9% pure chemicals and then sell them to you as a lower grade 98% pure. As a buyer I don't want to pay a premium for 99.9% purity if I could buy 98% purity for less and that purity would be acceptable to my processing. This is the classic buyer/seller problem related to "Acceptance sampling."
The gist of Acceptance sampling is that generally the whole batch can't be analyzed. In other words samples are taken from a batch of some chemical and just the samples are analyzed, not the whole batch per se. (After all you want to have something left to sell or use.) Now there are obviously errors due to sampling and errors due to analysis. The gist is that I find that the sample has 1.92% contaminants. However let's say that the standard deviation is 0.33%. So it is probable that the batch does have less than 2% contaminants, but there is a some chance that the batch actually exceeds 2% contaminants. So the confidence interval of any particular analysis should also be specified for a more complete specification.
In fact if I were buying a lot of a chemical I'd probably have a contract that detailed how my acceptance testing would be done and under what conditions I could reject the whole lot at no cost to myself. So to write a less ambiguous specification requires some careful consideration.