Sona's only better in low elo. There, you can just poke them out of lane 24/7 and rarely get punished for it very much. But against good players, they'll position really well and it's much harder to get away with poking them. If you somehow manage to poke them anyway, you're leaving yourself way too vulnerable to being ganked and Sona has almost nothing useful she can use to survive a good gank. So she just kinda loses there.
Nami, on the other hand, can get away with playing somewhat more aggressively than Sona can, since she can just bubble the enemy and walk away if she gets ganked, assuming her lane isn't pushed. And she's much better help when her jungler ganks since she has a slow and bubble. And other than that, her abilities are just more efficient than Sona's. Like her w is like sona's q/2 + w + e all in one, her e is like Sona's q/2 + e combined, and her q is the cc Sona wishes she had. And there ults are pretty similar.