As far as I know, most constructed languages have no syntactically or semantically ambiguous grammatical constructions. However, would there be any reasons that a constructed language might include certain potentially ambiguous constructions, and if not, why do many (or maybe most) natural languages have so much ambiguity, and why would that not be resolved in natural languages?
If naturalness (being like a natural language) is a design goal, then a conlang can embrace ambiguity with no shame.
Efficiency. Most ambiguous sentences are understood well enough in the context they are uttered in, clarified either by prior knowledge, non-linguistic communication (body language, pointing, etc), or through follow up questions from the listener. When most ambiguity is not actually a problem, it doesn't need to be explicitly countered. To require a language to be completely and always unambiguous would require much more specific and cumbersome sentences, violating the cooperative principle.
Wordplay. Puns, double entendres, and garden path sentences are unlikely to be possible or productive without substantial ambiguity.