If you put in series, you can still get a wide range in brightness at constant 20mA.
How will you calibrate this? with CUSTOM series resistors? for equal intensity at end of fiber?
for 8x3.1V or 8S you required 24.8V + current regulating voltage drop of 0.1 to 2.5V depending how it is done.
for 4S x2P you need 12.4 + . . .
for 2S4P you need 6.2V + . . . .
When 5mm LEDs which have 60mW rating and 16 Ohms ESR it is wise to add 5Ohms in series with each to prevent thermal runaway from mismatch unless you know the quality of your sources.
for 8P you need a 3.3V ultralow LDO regulator from a 3.7V Lipo which can drop to 3.4 before loss of LDO regulation. giving reasonable discharge time but requires low voltage sensor.
Forget LM317 too high Vin-Vout drop
Using Ohms Law try
Vf of Green LED= 2.8V + If*16Ω =3.1 . Note 2.8V is fixed threshold and each LED will have a tolerance on 16 Ohms....perhaps 20 ...25... so add series resistance of this difference to get 20mA in each parallel string.
Then measure output fiber intensity using a PD with TIA not darlington.. too wide tolerance in hFE and poor tolerance on A/W. PD's are very accurate and cheap. TIA config Op Amp is very cheap and accurate for gain.
Thus from3.3V LDO ... (3.3V-2.8V)/20mA=25 Ohms including 16 Ohms ESR of LED so add up to 10 Ohms for each LED in parallel to 3.3V.
get this LDO and a range of R's around 10 Ohms with 1 Ohm increments.
Your LED efficacy and Darlington efficacy might give a range of 3:1 each max:min in mW/mA and mA/mW respectively.
A PD is very tight tolerance. and PT is very loose tolerance.
If you do as I told, you might be able to calibrate each optical pair to be matched within 5% if you are good.
Recalibrate often.
use this only
https://www.digikey.com/product-detail/en/MIC5318-3.3YD5-TR/576-2860-6-ND/1858612