I've been having this issue for about a year now (both on Big Sur and Monterey), where sometimes when I get an email and read it, the badge will still say I have an unread email. It's an iCloud account I use. Have tried removing the iCloud account from my Mac user and adding it again. This did not fix the problem. If I restart the app, the badge will go away, but this is very annoying to do often.