That error is saying that your account does not have enough ETH to pay the transaction fee. At this time, all transactions on Ethereum incur a fee paid for in ETH.
There are, however, ways too offload the fee payment to someone else with meta-transactions. Wallets like Autheruem actually pay the transaction fees for you, so your users would not have to have ...
The more realistic situation will be to send from 100 different addresses.
From an ethereum client perspective there is some difference but not much.
For a miner it should not matter. Once the proposed block is created by the client the proof of work algorithm execution will be the same.