The fixed 80% is new, and I’m not sure why they wouldn’t enable that software option for older devices, too.
Because they'd get reamed for it. Recall what happened why they slowed phones down to make the batteries last a bit longer.
That is not at all what happened.
They got reamed, above all, for not explaining what it was doing (and why) from the start. They absolutely should have been transparent about the feature and how it operates, but people felt it got snuck in silently, and because of the lack of transparency, people didn’t see it as a “feature”, only as a limitation.
That function was not, and is not, to make the batteries last longer (cycle life (number of cycles)) or run longer (runtime of a charge). Its purpose is to limit maximum current consumption to a level that a degraded battery (=higher internal resistance) is still capable of reliably delivering, with the goal of preventing random shutdowns due to brownouts. This is why it doesn’t do it when a battery is in “healthy” condition, and why only heavy loads see a throttling effect.
Apple has often added new features and options to old hardware via software updates. That’s not controversial as such.
Which leads me to...
Suppose you (as a manufacturer) can control the battery charge in an on/off fashion. Once it gets up to whatever you consider fully charged you can flip the switch and the charge is turned off. Being clever, you can arrange that the battery is just fully charged when the user wakes up in the morning, either from monitoring their usual wake time or by looking at the set alarm. You can put off charging until the exact time before wakeup that it will take to charge, or you can wait until it's at 100% (or the preferred level), turn it off and then just before wake give it a couple of minutes to make up for what's since drained.
Magic. But what if the user has irregular hours and/or doesn't use the phone alarm? You could wait until full charge and then turn it off, but you wouldn't know when to do the last moment top up. The user could be taking it away in the next minute or they might've gone off on holiday, and you won't know until the cable is pulled. Is the top up important? I think it is, because if the user puts it on charge and then goes to use it and finds it at only 95% they will get a bit annoyed. Especially if it's habitual.
OK, so you can't afford (reputation-wise) to take it off charge unless you know how long it will be on charge (cf. alarm, etc). You could fake the charge - if the actual charge is 95% when the user pulls the cable you could say it's 100% and they'd never know, but then you'd have to fake the fall in charge during use because the user would notice an unaccountable step. I think Apple have tried something like this in the past and got roundly told off.
What are you talking about?
What practically all mobile devices do is to recalibrate the SoC meter regularly, so that 100% full means “100% of the battery’s current capacity” and not “100% of the battery’s original capacity”. My 3 year old iPhone SE (2020)’s battery, for example, shows its maximum capacity as 80% (meaning that the battery is now only capable of holding 80% as much energy as when it was new), but the SoC meter still shows 100% when it has reached that, because it’s 100% of what the battery can hold
today. Any device that uses rechargeable batteries and aims to have an accurate battery SoC indicator will use a so-called “fuel gauge” IC, which uses a coulomb counter to track current going into and out of the battery, combined with complex characterization of the load, to give predictions about remaining run time, etc. (Even if your phone doesn’t
display a countdown timer like laptops used to do, it’s still using it internally to know when it
must begin an emergency shutdown of the OS.) Fuel gauge ICs use sophisticated algorithms to not only predict runtime, but also to track battery degradation so that the percentage and runtime estimates can remain accurate.