Why can't I set service URL on dynamic labels?

In the labels dynamic reference I can see this:

 - "traefik.http.services.service01.loadbalancer.server.port=foobar"
  - "traefik.http.services.service01.loadbalancer.server.scheme=foobar"

But in the file dynamic reference you can set the services.$SERVICE.loadbalancer.servers.url

  services:
    Service01:
      loadBalancer:
        sticky:
          cookie:
            name: foobar
            secure: true
            httpOnly: true
            sameSite: foobar
        servers:
        - url: foobar
        - url: foobar

Why isn't this available in the Docker labels config? I'd like to be able to route to internal private IPs and not need a docker file. In other words, why is file the only option here?

https://doc.traefik.io/traefik/routing/services/#servers

Its not, but you can't do it with the docker provider.
You can use file, http or any of the Key/Value providers: consul, etcd, zookeeper, redis.
The file provider is probably just the easiest.