The mined block header have a merkle root, which is a hash of all transactions in it. You can't simply change it, because the hash will change too. Until block is mined, it is easy to add transactions, because we can just change merkle root and continue hashing.