Ну, спустя столько лет ответ уже явно не актуален :-)
Тем не менее, вопрос в поиске встречается и есть около тысячи просмотров, поэтому для пользы других - отвечу.
Причина в том, что у вас и модальный элемент div, и вызывающий его элемент button вложены куда-то в общий для них элемент, какой-нибудь div. Их нужно разнести.
Лучше поместить модальный div куда-нибудь в самый низ страницы. А ещё лучше, куда-нибудь ближе к корню документа, чуть ли не в body, чтобы у него было как можно меньше родительских тегов. Это касается всех модальных решений.