下記はBootstrapの Modal のサンプルコードの一部なのですが

http://getbootstrap.com/javascript/

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">

idや一部の属性のみキャメルケースで記述されその他はスネイクケースになってるのには何か理由があるんでしょうか?

例えば data-*属性はハイフンが使えないとかでしょうか?
だとしたらaria-labelledbyもキャメルケースの理由がわかりませんし…。