1) Даже «видные» разработчики не всегда в состоянии
дочитать документацию до конца (собственно, это и является причиной появления других «адаптаций» БЭМ). Основная причина использование подчёркиваний — не «ругается» редактор, который воспринимает два дефиса подряд как ошибочный HTML-комментарий. А «благодорить» за это нужно, наверное, Гарри Робертса, который тоже «ниасилил» официальную документацию, бросил где-то на середине и остальное, видимо, домыслил, популяризовав абсолютно бесполезную адаптацию (например, он так и не узнал, что модификаторы записываются в формате «ключ-значение»), не имеющего ничего общего с БЭМ (но активно использующую официальную терминологию).
2) Разделитель может быть любым. Желательно просто, чтобы он был явным и не допускал разночтения и ошибочных толкований. Но, как я уже написал выше, два дефиса могут неправильно выделяться в HTML-редакторе и непонятно, чем разделять значение модификатора в формате «ключ-значение».
P. S.: БЭМ-разработчики вообще вручную не пишут эти разделители, используя вместо это декларации БЭМ-сущностей (блоков, элементов и их модификаторов) — разделители подставляются автоматически при сборке и их в любой момент можно переопределить (заменить подчёркивание на дефис) и пересобрать заново (псевдокод):
// Default
block('my-block').elem('my-elem'); // => `my-block__my-elem`
// React-style
block('my-block').elem('my-elem'); // => `MyBlock-MyElem`