Well, this is just my opinion, so take it for what it is. I think specifications are like contracts, and should (a) talk about realizable, detectable states of affairs, (b) assign responsibility, and (c) give relatively unambiguous conformance criteria, at least in their normative passages (informative is a different matter). 2119 language escalates the tone of any document from collegial to adversarial. Syntactic constraints like "MUST be a string literal in ISO8601 format" are actionable, so they're not too bad, but "the provider SHOULD take care to ensure that the URL does not change over time" is extremely vague and subjective and would be very hard to assess in a dispute. Similarly "MUST plan to implement" - how is that assessed? As good-faith advice these are fine; as a term of a contract they're an invitation to a dispute.

I looked through several of the documents you listed and they will be great fodder for the critique of vocabulary specifications I'm working on in my spare time. Generally they support my belief that use of 2119 language in vocabulary specifications is gratuitous, distracting, and often wrong.

Jonathan