@Identity_Q , Microsoft Graph API acts as an aggregator where it houses many other Azure AAD protected Services under it, like Exchange Online, Sharepoint Online, Teams etc. Now as per the request request you shared, it looks like you have asked for provided the scopes for user.read and mail.read. Now both these scopes would be evaluated by CA when you go for asking a code from /authorize endpoint of AAD, and once CA policy evaluations starts, it would prompt for MFA since Exchange Online has a CA policy applied on it.
I am not sure how the request was made initially to obtain the code and then to obtain the token from AAD, but if the MFA was not done during/before the token request was made, then the token wont contain the MFA claim in it and hence when that same token is posted to an Azure Service like Exchange online that has CA policy enabled on it would likely to throw that error that you encountered.
Hope this helps.
Do let us know if this helps and if there are any more queries around this, please do let us know so that we can help you further. Also, please do not forget to accept the response as Answer; if the above response helped in answering your query.