It's not $15 per contract, it's $15 per strike + the usual transaction costs per contract.
If you are assigned on 10 calls at 40, you pay $15.
If you are assigned on 5 calls at 40 & 5 calls at 45, you pay $30, etc.
Yeah, kind of a BS charge, but you aren't charged for order modifications...