ids are supposed to be unique, if you have multiple buttons with the same id then which element do you think document.getElementbyId('demo') will refer to? It has to select only one so it is selecting the first and ignoring the rest. The easiest solution to this is to use a class to identify the elements rather than an id
<button class="plan-button demo">Choose Plan</button>
then change your js;
var el = document.getElementsByClassName("demo");
for (var i = 0; i < el.length; i++)
{
el[i].addEventListener('click', function (e) {
handler.open();
e.preventDefault();
});
}
If you can use jQuery then these things are much easier.