по нормальному это нужно делать через бекенд. но раз уж костыляешь через фронт, то лучше всего тебе это сделать в виде табов. т.е. изначально создать в html все разновидности контента модалки и сделать им display: none; а потом просто при клике - нужный делать display: block.
p.s. чтобы картинки не грузились все сразу - сделай для них своеобразный lazy load. т.е. оставь src пустым, а путь к картинке задай в data-src атрибуте к примеру, а потом при открытии модалки именно в этом табе подменяй src