I think “You should turn on the light.” would be a better translation. Anmachen means “turn on”. In English, saying “You should have a light on.” means something more like: “It would be expected that a light is (already) on.” …which is not what this sentence means in German.
‘you should have a light on’ is actually exactly one of the meanings of this sentence means in German. One is the simple request you refer to, on is a subtle ‘why exactly are you reading in the dark?’. As a general point, ‘du solltest…’ always comprises these two possible meanings.