Las baterías de 9v (conocidas comúnmente como baterías de "radio de transistores") son inherentemente ineficientes (y caras) porque esencialmente estás usando una "pila" de seis celdas de 1.5v en serie para obtener 9v. La resistencia interna de esta pila está consumiendo mucho de tu poder. Las baterías de 9 V se deben (solo deben) usarse cuando algo en el dispositivo necesita alta tensión a baja corriente.
Mientras tanto, 20 x 20ma = 400ma o .4 amperios. Esta es una carga continua demasiado grande en una batería de 9v. Supongo que si mide la temperatura de su batería, verá un aumento sustancial de la temperatura, lo que está causando que la batería queme gran parte de su energía potencial como calor dentro de la batería.
Lo ideal es que necesite un (a) amplificador (es) para controlar sus LED. Recuerde que debe conducir los LED con CORRIENTE, no con VOLTAJE. Si no puede usar amplificadores operacionales, entonces use una sola celda "D" de 1.5v con un tamaño apropiado de resistencia limitadora de corriente, y conecte todos sus LED en paralelo. Seguirá consumiendo algo de su energía como calor en la (s) resistencia (s), pero este calor se disipará fuera de la batería en lugar de dentro de la batería.
Por último, si realmente desea continuar usando las costosas baterías de 9 voltios en su actual serie / circuito paralelo, use varias de ellas en paralelo para mantener la corriente continua de cada batería por debajo de aproximadamente 50 mA por batería (mi mejor estimación). Nuevamente, mida el aumento de temperatura de las baterías. Las baterías necesitan disipar el calor interno más rápido de lo que crean calor.