Start with modifying the PATH line in. your Zsh shell dot file (~/.zshrc):
export PATH="/usr/local/bin:${PATH}
and then from the Terminal, run the following to make that PATH current:
source ~/.zshrc
Next, you install Python 3.9.4 (universal) directly from Python.org (not using brew) — which is a normal macOS package installer. It will create a Python 3.9 folder in your /Applications folder, deposit python3, idle3, etc in /usr/local/bin as links back to:
/Library/Frameworks/Python.framework/Versions/3.9/bin
and though the Python 3.9.4 installer updates your PATH statement for Bash, it still does not do so for the Zsh shell, so back to your ~/.zshrc dot file for one last change:
export PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
and
source ~/.zshrc
If you have installed Xcode, or the command-line tools for Xcode 12.4, these place a Python v3.8.2 into /usr/bin, and if you do not make the preceding PATH adjustments, it is that older Python3 that you get by default, and one that won't let you install modules into it.
The last PyAudio module that I see was last updated in 2017 and very likely not compatible with Python 3.9.4.
One way to avoid polluting the main Python 3.9.4 package area is to create a virtual environment that you install packages into as I have done for pyobjc, pyobjc-core, and Qt 5.15.