Currently FRR doesn't support multiple labels in BGP-LU. If a BGP update is received with more than 1 label, only the bottom label is used.
This is as per bgp_label.c:
/* If we RX multiple labels we will end up keeping only the last
- one. We do not yet support a label stack greater than 1. */
This requirement is essential to get work SR-TE with BGP-LU. We need to fix these issues, and it will help us with SR-TE implementation. more details about this bug is in FRR bug report: