Nanako, you have some good observations. In the above context, there is not really any difference. They might be interchangeable, depending on the context for not voting.
However, generally-speaking, 'refrain' has more of a sense of holding back from doing something. It has the sense of self-control.
Abstain, particularly with regards voting, can have the sense of objecting to something by not voting. It does depend on the context.
So, although the words may seem interchangeable on the surface, and it is true that you might use either word, you must look for the context before deciding if they interchangeable or not. If there is not much context, then use either - at least with regards to voting.