Универсальный способ в лоб - взять и создать отдельную функцию.
Кодlet modal = document.getElementById('modal');
let modal2 = document.getElementById('modal2');
function commonFn(e) {
e.style.display = "block";
}
link.onclick = function() {
commonFn(modal);
}
link2.onclick = function() {
commonFn(modal2);
}
Более хитрый, но странный способ - каким-то образом получить массив элементов. Способы есть разные, не о них речь.
Кодlet modal = document.getElementById('modal');
let modal2 = document.getElementById('modal2');
let links = [link, link2];
let modals = [modal, modal2];
links.forEach((L,i)=>L.onclick = function() {
modals[i].style.display = "block";
});
К слову, вместо
.onclick=
лучше использовать
.addEventListener('click',
Ну и наиболее правильный, как мне кажется, способ - это каким-то образом связать каждый link с соответствующим modal. Выше эта связь происходит через индекс в массиве. Но может быть, что можно как-то по-другому, через цепочку соседних или родительски-дочерних элементов вычислить. В идеале у link и modal должны быть похожие атрибуты, с помощью которых функция в onclick, зная атрибут у link, сможет вычислить атрибут у modal, а затем найти его по этому атрибуту на странице. Например, одинаковый класс (один из).