Hi there
I am wondering if the problem is something other than hunger. I think it sounds as though he's an efficient feeder during the day, but at night I am wondering if he is waking for some other reason, and using you for comfort to get back to sleep - hence those long feedings until he goes back to sleep.
As for why he's waking - I am wondering if he's overtired (OT). Typical A time for a 4 month old is 2hrs or a bit less, with a 12hr day and a 12 hr night. From the routine you posted, your little man has 2hrs first thing, then 1hr 30 mins (both of which sound fine - and you get a decent nap afterwards which is always a sign that your A time is about right!), but then a much longer 3hrs, followed by a 30 min nap (which is almost always a sign of being OT and that the previous A time was too long) then another massive 3hrs A time before bed.
I would aim for that third nap to be after 2hrs A time, and then you should get a 45 min nap, then about 1.5hrs A time, then a much earlier bedtime. That will give you a 12hr day and a 12hr night
Hope that helps
Bryony xx