An assumption need to be made which you may wish to clarify. If you want 20 mV at UP TO 100 mA then none of the circuits will work without both a current control and voltage control function. The following circuits deal with current control. These can be used to feed a standard 20 mV voltage regulator circuit. If Iload is < Icurrent_limit then the VR works as desired. If Iload tries to exceed current limit then VR is starved of current. So ...
Your circuit will work but is relatively low quality - it depends on the Vbe of Q2 being well defined - which it tends not be be.Steven says that the top transistor needs more than 20 mV Vbe, which is true BUT if you set the current of choice and IF the load drops 20 mV at that current then Q1 will assume whatever Vce is required to drop 20 mV across the load.
Original circuit. Not marvellous -
Much better are circuits similar to the one below from here.
I've modified this slightly but left their values in place as this is to give an idea only.
The system turns Q3 on until V_Rsense = Vref.
So I_constsnt-current = Vref/Rsense.
Vref can be divided from some input voltage as shown using a divide ratio to suit. . You can provide a variable voltage from a pot or a microcontroller etc if desired to vary the current. Note that this is a current sink with the load being supplied from some V+ of choice. Need not be the same V+ as Vcc = BPS+
Similar but with MOSFET and uC drive
This is similar but uses the voltage across R1 to provide a high side current source. From here but he says it's copied from "The art of electronics". Note again that Vref is the HIGH side voltage across R1.
ie Icc = Vref / R2 = [V+ x R1/(R1+R3)] / R2
Some thoughts from Maxim from here.
Many related thoughts from all over