U hoeft alleen de afkap van uw subquery te wijzigen zodat deze per dag wordt afgekapt in plaats van per maand, en vervolgens de buitenste query per maand in plaats van jaar afkapt.
select id, to_char(event_day, 'Mon') event_month, sum(cnt) overall_count, avg(cnt) average_count
from (
select id, trunc(event_date) event_day, count(*) cnt
from daily
where event_date >= date '2019-01-01' and event_date < date '2019-01-31'
group by id, trunc(event_date)
) t
group by id, to_char(event_month, 'Mon')