Как изменять контент всплывающих окон в зависимости от того, какая кнопка нажата?
Причем тут табы и модалки? Сделайте просто функцию генерации модалки. Передавайте в неё нужный контент и вставляйте сбилженую модалку в какой нибудь <div id="my-modal-box"></div>
Вот простой пример:
HTML<button id="btn-1">First button</button>
<button id="btn-2">Second button</button>
<div id="my-modal-box">
  This is may be modal window component, use css ...
</div>
JSfunction buildModal(containerID, content) {
  document.getElementById(containerID).innerHTML = content;
}

document.getElementById("btn-1").onclick - function() {
  buildModal("my-modal-box", "Content from first button")
}

document.getElementById("btn-2").onclick - function() {
  buildModal("my-modal-box", "Content from second button")
}

/* showModal() and hideModal() write yourself */
Попробуйте использовать Event Deligation Pattern
https://learn.javascript.ru/event-delegation
Суть проста - вешает один листенер на контейнер и в коде просто проверяете куда кликнул юзер. От того какой сработает event.target будет срабатывать разные обработчики.