So you're saying the MPLS L2MTU is the GRE tunnels' 1500-24? So I have to use the IP MTU of the GRE tunnel to determine the L2MTU of MPLS?
A GRE packet is never going to grow above the IP MTU of the interface that it is sent over. I am assuming you are probably using IP MTU 1500 on most interfaces that GRE tunnels would be sent over, and therefore 1500-24 is the largest payload that a GRE packet could have before requiring fragmentation.
You can use a very large L2MTU if you like for your VPLS tunnels that run over the GRE tunnel - don't feel like you are limited to below 1500. It is simply the case that if you go above 1500 when you add together the VPLS overhead and the GRE 24 byte overhead that it will be fragmented and recombined on the other end.
We use GRE and EoIP tunnels all the time over layer 2 connections that don't have sufficient L2MTU for us to run MPLS properly. Running MPLS over the EoIP tunnel instead of the Layer 2 connection itself means that we can provide our customers a full 1500 MTU instead of a reduced MTU. Although there is a slight performance degradation due to the fragmentation and recombination of the frames, we do not generally have very high speed packages over such links.