A secret ballot makes it impossible to verify votes even with collusion between the voter and interested party. That makes vote-purchasing infeasible, since I could take money to vote for you and still defect at the secret ballot box.
A cryptographically-secure secret ballot in this threat model would need to provide the voter with a valid zero-knowledge proof for their actual vote and an imposter zero-knowledge proof for their alternative vote. Something like "if I input A into the system, then it counted vote X; if I input B then it counted vote Y," with A/B remaining private to the voter.
However, that doesn't help unless you know that every vote was a legitimate and eligible vote. How do you know the votes are legitimate and eligible if the address is anonymous? You need some system to either publicly identify each address or you need a central authority saying which addresses are allowed to vote.
The latter goes right back to the situation we are in today and the blockchain becomes no more useful than a centralized database, because we are still reliant on the centralized authority to tell us how many valid votes mattered.
There is a new voting event, each citizen can now create a voting wallet using their Citizen Key then vote on the various motions by sending a transaction to a destination wallet created for this event.
At the end of the voting event, the votes are counted and no transaction can be send to the destination wallet.
You do have a central authority, it's the country (or state). Only citizens can vote, and only citizens have a valid set of keys.
The benefits is that anyone voting or people who want to verify the voting numbers can do, and without having to trust the software managing the database (I mean, you of course have to trust the blockchain itself...).