In its most basic form, the difference between MPLS Layer 2 and Layer 3 VPNs is that in Layer 2, you are provided with a flat MPLS topology where no routing takes place in the ISP’s network, while in a Layer 3 VPN over MPLS, the ISP actually participates in the routing of packets.
In more detail, Layer 3 VPN over MPLS, the service provider will participate in routing with the customer. The customer will run OSPF, EIGRP, BGP or any other routing protocol with the service provider, and these routes can be shared with other sites of the customer. Additionally, routing information from one customer is completely separated from other customers and tunneled over the service provider MPLS network. More information on MPLS Layer 3 VPN can be found here:
Layer 2 VPN over MPLS is more properly known as MPLS Layer 2 Virtual Private LAN service or MPLS VPLS. This technology essentially combines MPLS and Ethernet. This is a flat topology where Layer 2 services are provided to customers. Any routing that needs to take place will be done on customer devices connected to the ISP circuits. The limitation of this technology is that it is not as scalable as L3 VPN MPLS, due to the fact that it cannot have the same hirarchical structure that L3 provides. A little bit about VPLS can be found in this lesson:
I hope this has been helpful!