It's not possible to stop self-voting because Steem has no account/identity constraints except stake. A block on self voting could be avoided by creating one posting account and another voting account.
There's nothing wrong with self-upvotes as long as the content merits the upvote. Voting should ideally be based on the value of the content, not bias for or against the person who posted it.
Too true, especially the part where you mentioned people having dual accounts, like how is anyone suppose to know whose account is whose, which is probably the reason why they just allowed self-up-voting from the start, to help prevent the multiple account issue.
I technically have dual accounts as well, though my other account is used for a different purpose.