As this issue keeps showing up again and again in support requests, I thought it is worth mentioning here.
The problem is that the External User account gets, somehow, associated with a different UPN in the Users List of SharePoint Online or gets corrupted somehow. Either way the first thing to do is to find it and get rid of it so that we can recreate a health account in the Users List.
I had like to mention that I have seen cases where the Administrator has executed the command Get-SPOExternalUser in the Power Shell Administration console but the External User account was not found using this method. This may be the case when there are a large number of user Accounts. In this case it might be necessary to view only the first 50 Accounts per page:
Get-SPOExternalUser -PageSize 50 -Position 0
See this article:
The solution in this case was to look for the External User account in the Users List page:
If the account appears listed in there, just delete it and then re-invite the user. This time around it should work.
I hope this works for you, when facing a similar problem.
Have a nice and productive day !