BEM bans sub-elements, why are they used here?
It seem a little misunderstanding here.
BEM allows placing element into another elements in markup as deep as you want. But BEM does not use subelement term and disallows placing elements into elements at filesystem.
Allowed
<div class=”block”>
… <div class=”block__item”>
…… <div class=”block__title”></div>
… </div>
</div>
Disallowed
/blocks
… block
…… __elem1
……… __elem12