`go mod download` is for explicitly populating the cache. If you just run `go build`, the cache will be implicitly populated. You don't need to run `go mod download` before doing a build.
no it was added at the request of the athens project (github.com/gomods/athens) so there would be a canonical way to download modules that we could use to prime the cache.