Структура для всех страниц:
.page
.page__header
.header
.page__wrapper
.page__block1
.block1 // это блок страницы, замените на свое название
.page__block2
.block2
.page__footer
.footer
Нужно ли везде указывать, что это за страница?
Базовый шаблон, который есть на всех страницах (шапка, футер) обычно при интегрировании верстки выносят в отдельный файл. Поэтому вешать на каждую страницу свой класс без надобности не надо.
Ведь services этот блок, который может повторятся и на других страницах сайта, и при этом, будет выглядеть по другому.
Назовите его по-другому .main-service или .last-service
Конечно, если полностью следовать БЭМ, должна появиться и такая же структура файлов. Но если мне необходимо все стили запихать в один css?
В беме у каждого блока свой файл стилей. Собирать итоговый css можно как угодно, например, используйте sass include.
Или нужно избегать повторения в именование классов?
Нужно избегать повторений в именах блоков.