A four-transistor circuit will also do:
But this needs about as many components / as much cost, and you may find the simplicity of an off-the-shelf LED regulator is worth the purchase.
Ed: to expand on this a little further, it'll take about 5 components (discounting the reference: pull-up, zener/431, divider) to use the op-amp, about 10 here -- to build two channels, while making use of dual components, except the power stuff. And not much power is really needed, so a dual output transistor would be fine here too. Say '4401 BJT, or preferably low-Vce(sat) type, or NMOS as shown.
I suspect the cap can be optimized out by tuning tail current (increasing R2, R3) to achieve compensation. And D1 doesn't really matter, as long as Vgs(max) < VCC, or a BJT is used.
Hopefully, the same is true of the opamp case; perhaps shopping around for suitably slow, or enough phase margin, op-amps would be worthwhile here, eliminating compensation components.
Heh, since supply is regulated, well, no big deal using that for reference, just a bare divider will do in this case.
Foldback would be nice, to limit power dissipation in case of shorted LEDs; should be easy enough to add two resistors and call that done. May need to use SOT-89 or larger transistors to ensure adequate dissipation at worst case (say, half nominal load current at a couple volts?). Could also use a thermistor for added thermal protection, with the downside that it can't be supplied from a resistor pack (dual/quad).
Tim