"Is canon too well established for future writers to fix this logical gap in the description of the Star Trek universe?"
Allow me to elaborate.
Non-American citizens of Earth are notoriously multilingual. It is all but guaranteed that Vulcans know many languages, and use them as they see fit.
Vulcans are also fully capable of appearing to be illogical in cases where logic dictates.
In Star Trek II: The Wrath of Khan, Spock participates in a lie (which he calls an exaggeration when another Vulcan is confounded), by using days instead of hours, hours instead of days.
Because of this we can conclude that not only are Vulcans capable of altering their language, but they can do so in many ways.
In much the same way that Spock altered his speech while he and the captain knew they were being surveilled, Spock also refused to speak some of the more logical languages of Vulcan because there was always the chance that, while on a Starfleet vessel, the conversation was being monitored.
It could easily be concluded that it would be disrespectful, or possibly even dangerous, to speak completely logical languages around non-logical beings.
And much in the same way that the award-winning Doctor Who episode "Blink" treated its audience (the creatures cannot move while anyone can see them, including you, the viewer) this movie treats its audience as that of a group of non-logical beings, thus making you feel ever so slightly more "in-the-world." If we were to witness Vulcans using a language that they do not use around humans, this immersion would be broken, and the creator of the episode or movie would have committed an error.
And that's just not logical.