Because he conveniently didn’t mention his Canadian citizenship to them when he ran for the Senate the first time. Other reasons too, but that one’s enough.
You are the subject of misinformation.
Cruz was a Canadian citizen only by Canadian law, which was irrelevant to his case. By American law, the only relevant citizenship law, he was an American citizen from birth.
And, no, if he was not familiar with Canadian citizenship law -- and he had no reason to be -- he would not necessarily have known that. That whole issue is a red herring.