This assumption breaks down on modern processors that get much of their energy efficiency by non-linear usage techniques such as race to sleep, adjusting cpu clocks for workflow, coalescing interrupts, etc.
Additionally, modern OSes are doing more small random background tasks that are invisible to the user. A machine that is temporarily using a lot of CPU to perform a cloud sync or face detection on some new photos will report that at this level of energy usage you might not have much time left, when in reality the background operation is likely to end shortly and battery life estimates might spike up in 5 minutes.
A user seeing a 3 hour estimate (that is probably wrong per the reasons above) when they are doing nothing that seems energy intensive and concluding that their machine is broken is the problem that Apple is trying to solve here.
Might there be a better way of communicating the energy effect of background tasks on battery to users? Probably, but a single number time remaining is going to be a very hard way to do that (basically asking software to predict the future). The battery life graph over time found in activity monitor is much better.
Something else that would help, and would fit into Apple's MO of moving iOS features to macOS would be a method of allowing users to enter a low power mode that would forgo face detection and spotlight indexing temporarily in favor of more consistent battery life. If it could do this for network usage when I say I am on a slow or metered connection that would be super helpful too.