Как улучшить код отображения модального окна?
Сформулируйте вопрос более конкретно - что вы хотите от нас услышать.modal.classList.contains('open')Бессмысленная проверка, remove просто проигнорирует класс, которого нет. 
https://developer.mozilla.org/en-US/docs/Web/API/E....onclick = function()
Не стоит назначать обработчики через свойства объекта.
https://learn.javascript.ru/introduction-browser-e...
https://jsfiddle.net/koceg/1y38k8t8/
без уникального id не получиться, просто это может быть data-атрибут, иначе как понять какое именно модальное окно показать пользователю? Мы делаем так - все кнопкам которые открывают модалки даем data-id="1",  data-id="2" и так далее, и точно так же размечаем сами модалки общий wrapper и конкретно окно с data-id, после клика проверяем data-id и показываем модальное окно с соответствующим data-id. Вместо data-id и цифр может быть что угодно, например data-popup="one"