Ваша ошибка в том, что вот такого элемента:
.hm__ul li:not(.hm__a-grey):last-child
у вас несуществует. Потому что :last-child всегда указывает на последний дочерний элемент в пределах родителя. То есть, у вас .hm__a-grey (с цифрой 9) - всегда last-child в любом случае. А элемент №6 - никогда :last-child не был и не будет, пока после него есть другие элементы.
Вашу задачу нельзя решить на CSS. Вам нужен js.