usually fish will adjust to the hardness of your water, as long as it's consistent it's usually fine unless you are going with sensitive fish such as discus.
I would up the kuhlii to 4 or 5. They are shoaling fish and would probably do better with a couple more.
What type of filtration do you have?
What is your substrate. Depending on what you have some dwarf corys may be a better option. Kuhliis generally do best with sand or a small gravel I believe.
To go with the DG and cardinals(and both corys and kuhlii) - platy, harliquin rasbora, rummy nose and silver tip tetra are a few of my favs.
My current 20 gal is running 300 GPH and is stocked with 1 sunset DG, 5 neons, 5 lamb chop rasbora and 4 platy(3 mickey mouse and 1 red wag). I love all the color variations and activity levels going on in this tank. The schoolers don't school tightly though so if you want this I would suggest sticking with 1 larger school over 2 smaller ones.