How to fix this uln2003 circuit?
you're missing a series resistor for your LED. You'll burn both the LED and probably the ULN2003 that way
Don't use an ULN2003 at all. You don't need something with a large current gain, nor something with free-wheeling diodes. What you really can't use is the fact that the ULN2003 is a Darlington array – that means high voltage drop within the ULN2003, which means more power gets converted to heat within your ULN2003 than your LED uses. So, replace that thing. It's something that has died with the 1980s.
Especially, you don't even need the 12 V source - your LED has a forward voltage of 1.8 V it seems¹, so you can directly control them from 5V.

All in all, since your question is &quot;how to fix this circuit&quot;: Throw away your circuit. Simple NPN transistors with a base resistor and a resistor in series with each LED (or LED string) are the way to go here.

¹ and your simulator has a very inconsistent semiconductor model, but that's a different story.