Update (May 2020): This didn’t work for a friend having the same problem. We eventually went with a better and simpler solution: just use Discord.
Ran into this problem yesterday, where the microphone works fine for other apps but won’t work in Steam at all. The problem is Steam doesn’t have permission to use the microphone, and doesn’t know to ask for it. This is on macOS Catalina. You can fix by giving it permission manually:
Open the Applications folder, and move (Cmd+Drag) Steam to the Desktop – this makes it temporarily not “protected” and avoids having to mess around with crsutil and rebooting multiple times.
Open a terminal, run:
sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.valvesoftware.steam',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1551892126);"
(when asked, give your mac password)
/usr/libexec/PlistBuddy -c "Add NSMicrophoneUsageDescription string" ~/Desktop/Steam.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c "Set :NSMicrophoneUsageDescription Using voice chat" ~/Desktop/Steam.app/Contents/Info.plist
Finally move Steam back to the Applications folder.
Absurd that Valve haven’t fixed this, it seems to have been an issue for a long time.