Aren't ESP32s way more power hungry than typical BT-only parts though?
Getting down to 10mAh is not so bad. If you're not actively driving the display, you can under-clock significantly [1], if you're not using WiFi you can turn the modem off [2].
[1] https://docs.espressif.com/projects/esp-idf/en/stable/esp32/...
[2] https://docs.espressif.com/projects/esp-idf/en/stable/esp32/...
PineTime, based on NRF52, will get you 4-7 days of practical usage.
Also 20 hours of runtime is horrible.
There are many ESP32 variants, depending on what you pick some may be more compelling for your use-case.
Even some newer variant like S3 or C6 only has acceptable power consumption, if what you are after is run-time they are not the best fit.