If I understand it correctly:
1. Soulmate involves a romantic love connection. This connection can occur even in across multiple life times with the same soul. Also one can have different soulmates in different life times.
2. Twin flame is the other half of your soul which can be a soulmate but does not have to be. I would assume meeting this other half would be a more rare occurrence.