If a download fails midway through, and wget is unable to resume it automatically (eg. error 503), emerge is unable to successfully continue the build of that package without manual intervention to delete the partial file. Instead, it repeatedly downloads the file from different mirrors, but these files have .1, .2 etc appended to them (by wget). The fix is to use wget -c when attempting to retry the download on the other mirrors, or to delete the partial file before recalling wget.
OK, this should be fixed in Portage 2.0.22. Thanks for the bug report :)