This is a very broad question and you need to do some more background reading, but quick answers to your questions:
L2 MPLS VPN – forwards based on the L2 address of the L2 PDU. The L2 PDU is encapsulated in the transport protocol (MPLS). The VPN can provide point-to-point (AToM) or LAN type multipoint service (VPLS). Something to remember about these types of VPN is that L2 forwarding information is learned though the data plane (for VPLS), similar to standard switch MAC learning. The control plane does not get involved in distributing L2 forwarding information. This means traffic from unknown MAC addresses is initially flooded, until return traffic is received across the pseudowire and the destination MAC is learned. Point-to-point L2 VPNs don't need to learn MAC information as they just forward out of the other port/pseudowire (they only have two interfaces per device).
L3 MPLS VPN – forwards based on the L3 address of the L3 PDU. The L3 PDU is encapsulated in the transport protocol (MPLS). With MPLS VPN, MP-BGP is used to distribute L3 forwarding information between sites for routes within the VPN.
EVPN – Another form of multipoint L2 VPN (LAN type service). Can use MPLS or VXLAN for transport. The important part that EVPN adds to L2 VPN is the distribution of L2 forwarding information between sites (through MP-BGP with new EVPN address family). It doesn’t have to rely on data plane learning, so can cut down on flooding between sites. In addition, the EVPN address family can also transport L2 to L3 address mappings, allowing sites to synchronise L2 to L3 mapping (ARP), cutting down on ARP broadcast.
DCI – You can use L2 VPN (AToM for two sites, VPLS for two or more sites) or EVPN to achieve DCI as you need to interconnect the sites at L2. EVPN is more efficient and reduces the amount of L2 flooding and ARP traffic between sites, so if your hardware supports it, it may be the better choice.