Просто потому что нашему государству необходима валюта для закупки импорта. Можно убедить другие страны продавать нужные нам товары за рубли, но для этого нужны серьезные аргументы. Например, наша военная база у них под боком.
Доллар является мировой резервной валютой, в долларе аккумулирована большая часть долгов в мире, ведутся расчёты международной торговли, в долларах номинированы товары на мировых биржевых площадках.
Рубль таким статусом не обладает, поэтому и нефть продаётся не за рубли. Заменить доллар в некоторой степени в принципе может евро, но рублю до этого далеко