Views Contextual Filters - User Name in URL
You should remove the "User: name" Relationship on the view and add a new relationship "User: uid". Then you can access the author view with /blog/author/123.

Then create a URL alias for "/blog/author/123" and set it to "/blog/author/john-smith". You will then be able to access the view with both the uid 123 or using john-smith.