In BEM, I understand that with modifiers, two dashes makes sense so that you can distinguish the modifier in my-block-my-modifier with my-block--my-modifier>
my-block-my-modifier
my-block--my-modifier>
Because whose blocks can be hyphen or underscore delimited, for example:
.site-search {} /* Block */ .site-search__field {} /* Element */ .site-search--full {} /* Modifier */
or
.site_search {} /* Block */ .site_search__field {} /* Element */ .site_search--full {} /* Modifier */