Defining and enforcing technical standards are part of the job of a technical architect. There are standards for frameworks, programming languages, and databases, among other things. It's natural that enforcing this type of standard is going to raise some angst. It's not easy to convince a development team that not letting them use their language of choice is adding value.
Realistically, there needs to be an exceptions process. There are lots of reasons for not adhering to a standard. For instance, if a team has a dozen developers coding C# applications and it's proposing to maintain a .Net application that already exposes it's core functionality through web services, it makes sense to let them do it even if the corporate standard is J2EE (At least for the short term). In the real world, this kind of compromise is necessary. For some people though, this kind of compromise just can't be justified.
The archetypal non-compromising architect is Howard Roark from Ayn Rand's novel The Fountainhead. Although he was a fictional bricks-and-mortar architect, he's the perfect backdrop for a situation like this. In the book, Howard is an idealist with uncompromising vision. He is exceptionally talented and refuses to make concessions for anyone if his standard will be degraded.
In the book, Howard is repeatedly excluded from opportunities an even works as a labourer in a quarry at one point because he refuses to make compromises. Despite all of this, he eventually becomes successful. It's an inspiring story, and the idealism of is glorified. It makes this kind of decisiveness appealing.
Pragmatically though, skill sets, licenses, and preferences, can sometimes form a cogent argument for making compromises. Because of this, I think it's in a technical architect's rational self-interest to occasionally make exceptions.