Нкжно ли заменять теги i, b, em, strong на стили форматирования css?
Смотря где вы их применили. Если для форматирования каких-то блоков за пределами контента, то это не очень хорошо. Если в контенте, то их там и надо применять. Конечно, не через каждое слово, но в меру и к месту.

Смотрите как здесь применяют https://ahrefs.com/blog/ru/audit-obratnyh-ssylok/

В статье эти теги почти в каждом абзаце. Такое форматирование в контенте должно помочь оптимизации. Не надо выделять ключевики более 1-2 раз.

Здесь написано когда и как надо применять https://webref.ru/layout/advanced-html-css/semanti...
Вот у тебя есть текст, и надо что-то в нем выделить, то вполне можно использовать тег для этого. Это нормально. Но если у тебя есть кнопка с жирным текстом, то тут тег не к месту, так как сегодня она жирная, а завтра будет другая тема и стиль.