If you assigned a validity date for the role assignment to the user with a date in the future of in the past it will assign the role to the user on that date (future) or untill that date (past).
I think this happened. The other user does not has a validity date on the role and therefore still has the role.