This issue can occur when your personal S/MIME certificate and private key have been stored in the system keychain instead of your login keychain.
Why this happens
The Mail app needs access to your private key to decrypt messages, but it cannot access the system keychain without an administrator's consent, and - for good reasons - it is not possible to allow permanent access.
How to fix it
- Open the Keychain Access app and search for your S/MIME certificate
- Export the certificate and its private key to a p12 file
- Delete the certificate and key from the system keychain
- Select the login keychain
- Import the p12 file
- Make sure the certificate and private key are now in the login keychain
- Quit and re-open the Mail app
- You will again be asked to allow access to the login keychain, but now you can "Always allow"
Quit and re-open the Mail app to verify it's fixed. There should be no more requests.
As an alternative to exporting in importing, within the Keychain app, you can
- copy the certificate and private key from the system keychain
- paste them into the login keychain
- delete them from the system keychain
However, with the export/import approach you have the advantage of a file backup, just in case anything goes wrong.
HTH!