$TERM returns screen
You've told the programs that you are running under Screen to look at the screen entry from the terminfo database when they want to do terminal-related stuff like colourize output. That entry tells them (via the common ecma+color entry) that the terminal has 3-bit standard colour support from 1976.
In fact, your version of Screen can very likely support a lot more than that.
You are probably looking for the screen-256color entry, which tells them that the terminal supports 8-bit indexed colour, or even the screen-256color-bce entry which specifies 8-bit indexed colour capability and background colour erase capability.
You tell them this by simple dint of setting the TERM environment variable to the value screen-256color, or screen-256color-bce.
Further reading
screen-16color? – Ignacio Vazquez-Abrams May 14 '18 at 15:06