Technically every http method can have a body? But the specification says the semantics are undefined on get and any compliant implementation is free to ignore it.
What is the use of spec adherence if it leads to unusable/broken applications.
Spec is not Bible/Quran requiring religious adherence. If the spec is idiotic, developers have and will circumvent it until either the spec adapts or developers move on abandoning the spec leaving it to rot in the dust.
Why because a bunch of guys in a committee said so? Sorry your committee is broken if they put idiotic ideas out there in the open asking everybody to conform.
But at this point I don't think you would get it. All hail the almighty spec.