Лучше одним, да. На главной: .product.product_view_preview, на странице продукта — .product.product_view_detail. Это удобнее, т. к. в обоих вариантах по-любому повторяются общие элементы: заголовок, изображение, описание.
А для описание отличий используются модификаторы (можно на уровне модификатора блока через каскад).
.page.page_route_index
.page__header.header
.page__content
.page__heading
.page__section
.list.list_of_products
.list__item.product.product_view_preview
.product__title
.product__description
.product__image
.product__price
.page.page_route_product
.page__header.header
.page__content.product.product_view_detail
.page__heading.product__title
.product__section
.product__image
.product__description
.product__content
.product__price