ATM also uses downstream-on-demand label allocation. It uses this when building an LSP. ATM has to build a end-to-end unidirection LSP. Because VPI/VCI are a scare resource ATM LSP must request all Labels in the LSP in order to build it.
Remember Labes are kind of like next hop address. In the CEF table it essesitally takes the next hop IP address and replaces this with a label and populates the LFIB. The switch does use it's own VPI/VCI but its really for the next hop router. My best guess at why it doesn't use it's own label is because the LSP is unidirectional, and therefore so are the label
Hope that helps a little,
Karl Solie