According to your letter, she is physically and verbally aggressive. She only wants to go out when it’s convenient for her. She doesn’t seem to care much for your needs and isn’t bothered by attacking people. You have described someone who is abusive. Whether or not she is sociopathic is difficult to determine without more information.
You mentioned that people like her are attracted to you. It may be that these kinds of people see you as an easy target, someone easy to abuse. I would need more information to know if that is true. If you continually find yourself around these types of people, the way you behave might be attracting them. Consider consulting a therapist to examine this issues in more depth. A therapist would be able to determine what part you play, if any, in attracting these types of people and how to have healthy relationships.
Choose wisely with whom you spend your time. Don’t allow people to abuse you and treat you badly. You asked the question: why am I attracted to sociopathic people? The better question is: Why would you allow yourself to be abused by sociopathic people?
Counseling can help you know what a healthy relationship should be like and how to stop abusive people from coming into your life. Please take care.