Потому что у атома серы на третьем уровне существует d-орбиталь на которую могут переходить электроны, при этом валентность серы меняется. Такая же история и с хлором. А у фтора и кислорода нет свободных орбиталей на которые могли бы перейти электроны, и как бы мы не переставляли электроны на имеющихся s- и p-орбиталях валетность получиться постоянная, у кислорода-2 а у фтора-1.