My awk chops aren't great -- how about this approach?
Leave COMPAT_43 out as it's the odd man out, as far as naming convention goes. Group all of the compat options thereafter in a stdcompat variable, then generate the awk we use for each section.
This has the disadvantage of having to go back to the top when you're trying to grok the script, but I'm not convinced this is highly important given the rate of change.