zepto isn't a young company at this point, it's been 4 years now and 300+ folks in engineering
scaling quickly means that you create processes, and that processes run in automated manner
unless you're following this, you're only falling into crumbling disaggregated components (which means, today one service face an issue, they'll identify and fix it for them, tomorrow another team is going to face the same issue, and cycle continues)
you're right when you say there's nothing wrong in managing db connections on application layer, but if you check the blog post, every pod has only 3 gunicorn workers (and 10 connections), and they peak over 5k connections overall - based on this, do you still think managing connections on application layer makes sense?