We all have a right to privacy, which is why no one has to give a reason for voting for someone. All that matters is that Americans exercise their right to vote while making an informed decision about whom they are casting a ballot. No one wants an ignorant populace choosing a particular candidate, but no one should give a reason why they chose a particular candidate for public office.
I believe it is best not to require a reason for voting for someone. The major problem with this requirement would be follow through. Who is going to spend time authenticating all of the voter's responses? Secondly, voting is a personal decision that is left to the people and their decisions should not have to be justified.