Part of the appeal of iPhones is that Apple typically provides iOS updates for 5 years or more. If Apple were to drop that down to 4 years, they risk losing customers and would lose their "longer support than anyone" reputation. Putting something in writing should not make them feel less obligated to update as long as they have been. Their update policy should remain based on what they feel is good for business, regardless of what minimum they commit to.
I think the main reason for Apple to put something in writing is simply to better manage customer expectations. Other companies do it and I don't see why Apple couldn't do the same. They apparently seem to feel that dealing with potential backlash/disappointments is better than having to put anything in writing and that's certainly their choice. That is, unless some law comes along that requires companies to document OS and security update terms similar to how warranty terms are done. We're not there yet, though.
I am reminded of the story of the king and the poisoned well, as I was going through my reading list last night.

Parable of the King and the Poisoned Well
Today's life line has to do with trail blazing, walking the road less traveled, and doing what is right despite the difficulty. The followin...
I can’t control what people online choose to think or believe, nor can I stop people from going onto forums and shouting “forced obsolescence” or whatever the popular anti-Apple narrative of the day is, but I think a little bit of common sense goes a long way in sifting out the valid arguments from the illogical ones.
The rest here can still carry out the rational and logical course of action - call out the nonsensical and the illogical arguments as and when I see them. I encourage more here to do the same as well.
Nothing is stopping Apple from providing 5 or more years of software updates for their products. I am simply saying that Apple is under no obligation to put this down in writing. If people wanted them to, Apple would simply under-declare said number so as to minimise the odds of being held legally liable, and it would still be miles ahead of what android handsets receive. I would.
I also maintain that much of the online furore we are seeing over this issue is being made by (again) a small group of vocal posters, whom I am not even sure actually own the iPhone 6s or 7 models they are so upset is losing support. Not to mention that to date, they will also have gotten 6 and 5 years of iOS updates respectively, which I feel has already been an excellent run.
And we are at over 800 posts now? Simply ridiculous. I think this says more about the state of Apple’s user base, than it does about the motivations Apple may have for not updating said devices.