I think developers are kind of afraid to estimate, especially when these estimates are treated as commitments and not... well, estimates.
Evidence based scheduling [0] is an interesting approach to scheduling that may ease some of these pains but is not without drawbacks (e.g. estimation itself can take a lot of time).
[0]: https://www.joelonsoftware.com/2007/10/26/evidence-based-sch...