To reiterate what Ralf said, the possibility of Python going to a faster cadence was one of the things on our mind when drafting NEP 29 (see
https://numpy.org/neps/nep-0029-deprecation_policy.html#n-minor-versions-of-python for why did not go with a fixed number of versions) because the reality of the effort and timelines to upgrade deployments does not change with Python release frequency. The two things we are trying to balance here are the needs of the projects to use the cool new stuff in Python and the needs of our (institutional) users who are using our libraries for operations where updating the version of Python deployed is not trivial.
There was a lot of discussion around how big the window should be with 42mo being about in the middle of what people advocated for. I am aware of institutions that are on an every-other Python upgrade pattern (py37 -> py39 -> (expected) py311) so always having at least 3 Pythons in the window is important. Based on what we have seen so far, I still think 42mo is a good choice, but do not think we have seen it in operations long enough to draw any conclusions (the downside of year-scale planning is you need to wait years to see if it worked out like you expected!) and hence do not think we should make any changes to the time window for another few years. That said, I am currently sympathetic to making the window longer and against making it shorter.
It may be useful to have a discussion about what "support" means though given the combinatorial rise of (Python version) x (Python implementation) x (Operating system) x (architecture) that we are building wheels for. I think it would still be within the spirit of NEP 29 to run CI on CPython for all of the supported versions (maybe across the 3 big OS's) and then only publish wheels for the latest (2 version of Python) x (full matrix of the rest).
Stealing some language/concepts from Microsoft (if I recall it correctly), we should sort out which entries in that support matrix are Level 1 (CI + wheels), Level 2 (CI), Level 3 (we test something that looks like this), and Level 4 (your on your own, but we will take your patches to un-break things as you send them). We would obviously need more thought out definitions of the levels as well.
Tom