Sounds broken by spec without a false/disable value or values defined. It says to always assume true for any non-empty string, which would include things like "no", "off", "false", "0", etc.
if os.environ.get("NO_COLORS"): ...
In POSIX shell: if [ "$NO_COLORS" ]; ...
or, when nounset is used: if [ "${NO_COLORS:-}" ]; ...
Adding sentinel values when you only need a true/false indicator just complicates things.