Почему SELECT CASE WHEN возвращает только первое значение?
А вот если заглянуть в документацию...
Day 	full capitalized day name (blank-padded to 9 chars)
Действительно непонятно, почему же так срабатывает сравнение двух разных строк
'monday' = 'monday   '

Что попросили у to_char - то вполне ожидаемо и получили. При том, в чём вообще смысл получать название дня недели, а не его номер? А вдруг Day окажется locale-specific штукой?
SELECT
    AVG(value) AS avg_value,
    CASE WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'monday' THEN 'Понедельник'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'tuesday' THEN 'Вторник'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'wednesday' THEN 'Среда'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'thursday' THEN 'Четверг'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'friday' THEN 'Пятница'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'saturday' THEN 'Суббота'
         WHEN  LOWER(TO_CHAR(created_date, 'Day')) = 'sunday' THEN 'Воскресенье'
    END week
FROM results
GROUP BY created_date;