I wanted to pay 2 people. I sent some Monero to the first person and then I couldn't send any xmr coins to the second one. Why do I have to wait for the first to confirm first? Is there a work around to this? And doesn't this prevent adoption? How does the exchanges handle this problem? And are there proposals to fix this?
It's possible that you have a situation where you don't have enough UTXOs to independently send the second payment.
Monero uses a transactional blockchain, in that every transaction must have exactly one origin/source and one or many destinations/spends. When you either mine a coinbase transaction or have a transaction sent to you it becomes an unspent transaction output (UTXO) with a specific amount of value attached to it. If you want to spend this UTXO for the exact amount of it, you simple submit a new transaction with the chosen transaction destination. But if your UTXO has more value than you want to send, you must split this UTXO into multiple new UTXOs, one of which goes to your chosen destination and another that goes right back to yourself. (You could have chosen multiple destinations for the UTXO so that you can save on transaction fees, but this is normally more complicated and takes planning.) Since a new transaction takes time to be mined and be embedded into the blockchain you cannot spend the new UTXO that you sent to yourself, but must wait for it to be confirmed. (This is to prevent problems such as a 51% attack.)
If you know that you only have 1 UTXO and have tried multiple spends on it in quick succession then you will get the above warning. The easiest solution is to simply wait for the first transaction to timeout and then submit the next one.