Because v7.0.0 introduced changes making python-keycloak incompatible with Python 3.9, but specified support. This means dependency resolvers picking python-keycloak for Python 3.9 will perpetually be broken, unless versions are manually pinned.
The python-kycloak team could yank v7.0.0 and v7.0.1 from PyPI to resolve this issue.
Of course, Python 3.9 is end-of-life so if Python Keycloak team decides there is greater value to Python >= 3.10 users to keep those releases live, that may be reasonable as well.