Here's what works for me in emacs 26.1 to do what you asked for -- but it's very similar to what's in the answer from the other question that you referenced:
(defface my/org-agenda-holiday '((t (:inherit default)))
"Base face used in agenda for holidays, whether today's date or not."
:group 'org-faces)
(defface my/org-agenda-holiday-not-today '((t (:inherit (my/org-agenda-holiday org-agenda-date))))
"Face used in agenda for holidays other than for today's date."
:group 'org-faces)
(defface my/org-agenda-holiday-today '((t (:inherit (my/org-agenda-holiday org-agenda-date-today))))
"Face used in agenda for holidays for today's date."
:group 'org-faces)
(custom-set-faces
'(my/org-agenda-holiday ((t (:foreground "red")))))
(defun my/org-agenda-day-face-function (day)
(let* ((abs (calendar-absolute-from-gregorian day))
(todayp (org-agenda-today-p abs))
(day-of-week (calendar-day-of-week day))
(holidayp (or
(= day-of-week 0) (= day-of-week 6)
(holiday-in-range abs abs))))
(cond ((and todayp holidayp) 'my/org-agenda-holiday-today)
(holidayp 'my/org-agenda-holiday-not-today)
(todayp 'org-agenda-date-today)
(t 'org-agenda-date))))
(setq org-agenda-day-face-function #'my/org-agenda-day-face-function)