Different RUN command: different repository? or just different tags?

I have a set of services that are mostly the same source code but end up using different RUN commands or ENTRYPOINT commands at the end of the Dockerfile. Is the best practice here to use different repositories or to just tag them differently? For instance:

Should i have:

aschepis/myservice-worker
aschepis/myservice-api
aschepis/myservice-scheduler

or

aschepis/myservice:worker
aschepis/myservice:api
aschepis/myservice:scheduler

obviously i would need to append version onto tags in the latter option. My concern with using the same repository for all of the images is that you never know what :latest will be.