I imagine that's an oversight of sorts because you could just build the images on gitlab too.
1. I need to run gitlab ci myself on my host(s)
2. My host must be logged in to docker hub
3. Gitlab CI must run as privileged container
4. There are more hacks required to let gitlabci build the image and push as me.
on github you just authorize docker-hub to get webhooks from github, and that's it, it does the rest itself.