Color/styled text is a weird case, since it tends to be used for improving output (e.g. highlighting a “diff” or code syntax). It can be annoying to have all that helpful highlighting go away just because you added something like a pipe to “less” in your command to keep your text from scrolling away. The real problem is how a program is supposed to know when your pipe is meant to be interactive.
Technically terminals can play the interactive role in place of “less”: ^S/^Q, scrollback and search, etc. If that were more common, programs might not be misusing color/style sequences like this (as there wouldn’t be a common “interactive pipe” use case to support).