You don’t need to use a label encoding, but it can be useful if you want to map your targets to [0, nb_classes-1], which is expected by the embedding layer (and usually also loss functions).
Alternatively, you could also use the max. value of the “unencoded” target and set it as the num_embeddings in case you are expecting to get the missing values in the future.