kirillleogky, нужно выстраивать отношение на уровне z-index внутри элемент (button в данном случае) между элементами и псеводэлементами. Span выступает нейтральным элементом, которому можно задать z-index внутри родителя (при этом оставив его relative, чтобы он не двигался никуда) выше уровнем, чем псевдоэлемент.
Псевдоэлементы конечно же можно и нужно регулировать с помощью z-index-а, они работают точно так же, как и другие элементы в этом ключе.