I am quite certain that being a soulmate is a privilege you are free to bestow on almost any human being, with whom you happen to have a deep spiritual connection.
I am of the opinion that the similar attracts the similar. When you are attracted to somebody on many levels, attracted with the core of your soul – you might start noticing many things about them…just paying attention to them, and feeling grateful that they exist, and that is pretty much enough to make a romantic connection. Then you accept the person as a soul mate energy. Now, I believe every soul has got a name, which is its essence. True soul mates are the people, to whom through your soul and your most inner feelings you have “whispered” your name. This is why in the Bible, the man is said “to know” the woman he loves: And Adam knew Eve his wife, and she conceived…Your soul’s name is a sacred secret, for anyone who knows your name, might call you from everywhere. I believe souls in love are the only ones, who really know each other. This is why people have coined the term soul mate – you are very good spiritual friends, you have met and delighted in each other in many lives, you are bound to welcome eternity together. Even if the soul mate is leaving in your life – know he will return, for you are connected and bound to miss each other terribly. So don’t be afraid if your soul mates are absent from you.
On the other hand, I believe that a twin flame is someone born with you with similar qualities of their name. Your soul may forget anything but his name. Shiva and Shakti are twin flames. I will not speak of twin flames. You cannot describe it with words. Lucky are the ones who have found their twin-flame, and they instantly know it.