Функцию formatDate() переписать так:
// Все даты отображаем в едином формате
function formatDate(date, opt='long') {
var options = {
long: { weekday: "long", day: "numeric", month: "long", year: "numeric" },
short: { day: "numeric", month: "long", year: "numeric" },
week: { weekday: "long"}
};
return date.toLocaleDateString("ru", options[opt]).replace(/^.?|,/g, function(v, i) {
return !i ? v.toUpperCase() : '<br>'
});
}
А далее, запоминать дату ХХХХХХХ_gr, из которой надо брать день недели и далее:
easter.Catholic_Easter_gr = formatDate(dt); //здесь надо полагать полная дата
затем получаем день недели для Catholic_Easter_ul_day и пишем его в объект
easter.Catholic_Easter_ul_day = formatDate(dt, 'week');
затем для Catholic_Easter_ul короткий формат (без дня недели) + день недели
easter.Catholic_Easter_ul = formatDate(dt, 'short') + '<br>' + formatDate(dt, 'week');
А dt это дата из чего получаем и в данном случае это какой-то кошмар, но вы же знаете что из чего, формируйте.