In BEM, I understand that with modifiers, two dashes makes sense so that you can distinguish the modifier in
Double Underscore is used to define sub element of a block.
<nav class="main-nav"><a class="main-nav__item" href="#">Text</a></nav>
main-nav is a block &
main-nav__item is a sub element.
This is done cuz some peoples might name there block like this
main_nav which will create confusion with single underscore like this :
Therefore double underscore will clarify stuff like this: