Потому что никто не запрещает им это делать. Какое-то время назад был некий фиксированный коридор, выше которого от курса ЦБ банки не могли ставить выше/ниже стоимость валюты. Но это было давно и отменено.
Сейчас ЦБ не препятствует существенной разнице в банках, тк для них это способ заработать, в условиях ограничения других операций, а также из-за резкого изменения ключевой ставки (банки сейчас много теряют от того, что большой кредитный портфель у них по низким ставкам).
К тому же, такая разница ещё и соответствует ситуации - операции с евро и долларом сильно ограничены, доступ к наличным этих валют тоже (Из-за санкций ЕС и США). Такие курсы не сильно стимулируют население что-то делать с валютой.