Do I need to hold Ether on the same wallet as the ERC20 coin and it'll
be automatically sent over or do I have to send out Ether from another
address when I sign the transaction? This is a bit confusing at this
moment, could someone clarify this process?
You need to hold ether on the same address and it will automatically be sent when you create a transaction.
When you create a transaction you can set two values that determine how much ether you pay in transaction fee:
gas limit and
The product of these two values is the maximum transaction fee that you can pay for this transaction.
This maximum transaction fee needs to be present in the form of ether on the address from which the transaction originates when the transaction is submitted to the Ethereum network. The actual transaction fee that you will pay will be the product of
gas price and
spent gas. If the transaction consumes more gas than what you have set when creating the transaction, the transaction will fail (it will not transfer anything) but you will lose the maximum transaction fee mentioned above.