The two words are often used interchangeably when used to describe one's opinion. However, they have slightly different literal meanings and therefore slightly different metaphorical uses too.
Position literally describes where a person stands.
Stance is used literally to describe how a person stands - for example, which direction they face.
Taking "stance" first - this is best used to describe your personal opinion or attitude towards something. It usually means you have a strong opinion on a matter, but it does not necessarily have to oppose someone else's opinion or be one side of an argument. You can be said to "take a stance against" something or someone, which does mean you are in opposition to something.
In an argument where there are two or more "sides", people are often said to "stand" on one side or the other. Arguably then the word "position" better describes your position on one side of an argument or another. But "position" can also describe your situation. Sometimes our situation dictates to us what we must do, and it isn't necessarily our "opinion".
For example:
I am not in a position to go travelling.
This person's "position" is not their "opinion", but rather their situation. They might like to go travelling, but cannot, for whatever personal reason.
To sum up - "stance" better describes one's own viewpoint, attitude, or opinion toward something; whereas "position" better describes one's side in an argument, or one's personal circumstances which dictate what we can or cannot do.