Because you've used a 1ohm shunt, for every amp through the shunt+MOSFET loop the voltage drop across the shunt increases by 1V. So at 1A, Vshunt_drop = 1V; at 2A, Vshunt_drop = 2V, etc.
Your MOSFET gate needs to be raised above this Vshunt_drop the more amps you wish to push through the shunt+MOSFET loop. But your opamp is only being powered by 5V; an opamp that typically only can output approx. Vcc-1.25V at most. 5V - 1.25V = 3.75V at the output as you've witnessed.
The IRL640A has a Vgs(th) between 1V min and 2V max which means that it starts conducting when its gate is at 1V or 2V above its source (min, max, respectively). But if you want 2A constant current, you have a Vshunt_drop of 2V, plus add the Vgs(th), and you're at 3V or 4V (min, max, respectively). To fully conduct at 11A continuously, the MOSFET gate needs to be at 5V above source. But your opamp won't go that high (given Vcc is 5V, the max output of the opamp as witnessed is 3.75V)!
You have 3 options:
1. raise the opamp Vcc to (Vgs+opamp output max to Vcc diff+Vshunt_drop max at 11A) 5V+1.25V+11V=17.25V; enough to allow its output to reach 5V above shunt voltage drop if it needs to.
2. lower the shunt from 1ohm to, say, 0.1ohm where for each amp through it, the Vshunt_drop will be 0.1V. So now at 2A constant current will only drop 0.2V. At 2A, this will give you back 2V-0.2V or 1.8V to be used above the Vgs(th) to pump more current through the MOSFET. But you still won't get close to fully on at 11A.
3. if you really really need Vcc=5V then get another op amp that can do rail-to-rail output plus use the 0.1ohm shunt.
What is your maximum amps design requirement?
Also, this may be of value (scroll down to my design schematic):
https://www.eevblog.com/forum/buysellwanted/wtb-(uk)-electronic-dc-load/msg3140566/#msg3140566