Du behöver bara ändra trunkeringen på din underfråga till att trunkera efter dag istället för månad, och sedan trunkera den yttre frågan efter månad istället för år.
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')