Driving 48 LEDs with 1 Single Current Source
You may think the LEDs are the same brightness as you add more strings in parallel, but the 20mA is actually splitting itself between all of the parallel strings. So each time you add another string of parallel LEDs, the 20mA is getting split even more and the brightness of all of the LEDs is going down a little.

The relationship between current and apparent brightness of an LED is complicated. It's not actually linear, which is probably why you don't think the LEDs are getting any less dim. But I promise they are.

There's another complication as well. LEDs have a negative temperature coefficient. As they heat up, their forward voltage drops. Due to manufacturing variability, one string of LEDs will inevitably drop its forward voltage a little more than the others, which will cause it to grab a larger chunk of the 20mA, which will cause it to heat up more, which further decreases its forward voltage, and so on. The end result is that one string will tend to "steal" most of the available current and appear brighter. The easiest way to prevent that is to put a small resistor in series with each string. Regular resistors have a positive temperature coefficient (their resistance increases with temperature), so that works to balance out the current in each parallel strings.

If you truly want 20mA going through every LED correctly, you will need to decrease the value of R2 to an appropriate size. For example, two strings of LEDs will require 40mA of current. So R2 will need to be half the value. Four strings will require R2 to be one quarter the value. And so on.

By the way, the resistor value of R2 should be 35 Ohm, not 25 Ohm. I got this by taking the voltage that the base of Q1 will start to conduct (0.7V) and calculated the resistance that will result in 20mA at that voltage:  $$\frac{0.7V}{20mA}=35 Ohm$$

Your equation for R2 based on the number of LED strings (to maintain 20mA for each string) is:
$$R2=\frac{0.7}{n*20mA}$$
where n is the number of LED strings.