Editable installs of a PEP 517 project go through the build_editable hook defined by PEP 660. A build backend that does not implement that hook cannot be installed with pip install -e, and pip reports Project file:///path has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook.
setuptools gained the hook in version 64.0.0 (August 2022), so the fix is usually to raise the floor in [build-system] requires to setuptools>=64. The build environment is isolated by default, so the setuptools version on your machine is irrelevant; what matters is the pin in pyproject.toml.
The second surprise is that setuptools' modern editable install no longer drops a plain .pth line pointing at your source tree. It installs an import hook, which means the set of importable modules is computed at install time. Adding a brand new top-level package or renaming a directory afterwards may not be picked up until you re-run pip install -e .. Passing --config-settings editable_mode=compat restores the older, looser behaviour when a tool depends on it.