True, although they can adapt and live in 7.0 water that isn't too hard. They will now show their best colors though. I would go with at least 6 Cardinals for a good schooling effect. I would also not put the Platys in with them as they do best in harder water with a higher pH (about 7.5). They can also adapt to 7.0 water though. I think the fish you have listed are about all I would want to load a 29 g tank with...not counting the clown loaches. JMO about substituting something for the platys...I'd go with some other small-med tetra or rasbora.
, the Penguin 170 is marginal for a 29. Yes, it will do the job, but just barely. The HOT magnum is a great filter and more than enough for a 29, however it lacks a good biological capability unless you add a Pro 30 Bio Wheel setup to it. I've used this setup for years on a 55 with good results. My choice for a 29 in a hang on filter would be an Emperor 280. I feel these are superior to the Penguins. We have some at the store that have been running trouble free for over 4 years.
As to the water changes, I do about 15% every two weeks on my FW
tanks. You could go 20-25% a month if you wanted, but you'll have to add some to make up water to account for evaporation. I think the more frequent changes are better for the fish, but I know many folks who change once a month and have no trouble. Hope this helps some.