Tienen que ver que el ULN2803 es un buffer, o sea transfiere el resultado de un micro a bajo voltaje, al voltaje que deseas en la salida ya sea 9, 12 hasta 50 voltios todo esto hasta 500 ma por canal. Yo lo estoy usando con una matrix de 7x50 a 12voltios delante de los 74HC164 y asi yo compenso la velocidad del micro con el voltaje aplicado al final. Eso me da un brillo de led estupendo usando micros con 10 mhz. Cuando uso 4mhz. bajo el voltaje de los led a 9 voltios y el brillo queda fino. El 74LS04 es un inverter y no maneja cantidad de ma. en la salida y solo a 5 voltios. Yo voto por el uso del ULN2803 para un proyecto final acabado.