How to update time of day in PostgreSQL
One way of doing this:

update memberships
   set expired_at = expired_at::date + time '08:00:00'
where extract(hour from expired_at) = 0
  and extract(day from expired_at) = 15


expired_at::date will create a date without a time and then the time is simply added.