Why won't we simply stop accepting payments from hacked accounts? We know their public addresses, right? Sure, hackers still will be able to compromise user's accounts, but at last that money won't be spendable, right?
Fungibility. Money needs to be fungible, otherwise it's not money at all.
Blacklists allow censorship and confiscation of wealth by centralized/powerful players (like governments) which will be abused to screw over innocent people Or (hopefully) scare those people away from Bitcoin in the first place: why would you invest in Bitcoin if you know you could end up on a blacklist someday?
It weakens the lesson the victims needed to learn the hard way: if you don't hold the private keys securely yourself, you don't hold the bitcoins.
It wouldn't work.
Imagine if you get to a grocery store and try to pay in cash and they say, "Sorry, your dollars are no good, their serial numbers are on a list of bills that have been stolen". You might have gotten those dollars in change yesterday from that very same grocery store because that's where the thief spent them before they got on the list.
The result of such a system imposed on dollars would be that people could not hold dollars without high risk. After all, even if they know how they got those dollars and maybe even how the person who they got them from got them, they won't know their history. And it's absurd to argue they should investigate the provenance of all the funds they handle.
Thieves would just make sure to make their money change hands as quickly as possible, sticking innocent people with the tainted funds. Eventually, people would just stop considering the funds tainted or abandon the currency that had these unworkable rules.
There are lots more problems with this scheme. For example, say you have an account with 100 bitcoins in it. You accept a payment of 0.1 bitcoin from someone that is later discovered to have been stolen or otherwise tainted. But by the time the theft is uncovered, that tainted 0.1 bitcoin is mixed in to numerous payments you've made from the pile of 100 bitcoins you added it to. Are all your payments not tainted?
What if tainted funds are used to pay a transaction fee? Perhaps the miner colluded with the criminal, perhaps not.
It really isn't possible to create a blacklist of stolen bitcoins. While it is possible to easily trace stolen bitcoins, thieves can utilize a number of services, such as bitcoin mixing services, that mix stolen bitcoins with other (sometimes even freshly mined) bitcoins before redistributing the bitcoins to new wallet addresses. Because wallets are generated with public/private keypairs, anyone can create as many wallets as they like.
As an example, an anonymous investigative journalist [or whistle-blower, etc] working inside a repressive regime receives tips totaling 0.5 btc in exchange for writing a well received news article. Because that journalist does not want to be identified by the government about whom they were writing, they send their bitcoins to a mixing service that holds a large number of available bitcoins. The service then deposits 0.5 btc (minus a small fee) into four (or more) accounts that were newly created by the journalist. The btc held by the service could have come from anywhere, they could be stolen, they could be freshly mined, they could be from other journalists, and the journalist will likely receive a deposit that includes bitcoins from all of the above sources.
Doing this enables the journalist to obtain new coins that cannot be tracked back to her article. Someone who steals a wallet can engage in the same behavior, thereby obscuring the fact that they are using new bitcoins that were exchanged for bitcoins that they stole.
In summary: mixing services and underground marketplaces have made it all but impossible for someone to refuse to accept stolen coin.
Edit: They could also use the dirty coins to purchase drugs from an online marketplace. There are also anonymous online escrow services that enable one to trade 'dirty' coins for 'clean' coins (for a fee). I doubt that anyone who steals wallets gets particularly miffed at having to pay a fee to obtain clean coins.
Bitcoin is decentralized. There is no "we" to appeal to even if we wanted. You may be able to convince a miner to not include txs that go to certain addresses. That is their right. But that certainly won't prevent dealings that are unethical or wrong. That's like saying "why can't merchants not accept stolen $100 bills?" There is a huge tax for everyone if you try to enforce that.
More concreteley than the existing answers, and expanding on the point made by @Navin in the comments, the reason is because this would happen:
Imagine you're a merchant selling goods by bitcoin. You have a list of hacked accounts, and refuse to accept payments from those accounts. But not everybody does this, of course, and even people who do may well not have up-to-date lists, so imagine two scenarios:
The hacker uses his ill-gotten gains to make purchases from another legitimate bitcoin merchant, who is now trying to buy something from you.
The hacker has set up another wallet and transferred some random quantity from the hacked wallet to this one, and is now trying to directly purchase goods from you.
In the first instance, you want to accept the payment (because the merchant in question has done nothing wrong) but in the second you do not (because the purchase is being initiated by the hacker) but you have no way of telling which of these scenarios is the actual situation. This is the founding principle of bitcoin: we can track coins from wallet to wallet and figure out where they came from, but we can't identify who owns which wallet, and if for our privacy needs we must isolate coins from one wallet into another, we can do so without any hassle. This is useful for the good guys and the bad guys, and in the end it's the same principle that originally made hard currency so useful, which is why it's desirable in bitcoin. Inability to block stolen money is just one acceptable downside to the freedom it provides.
It depends on who is being defined as "we".
If the network as a whole wanted to blacklist addresses or rollback the blockchain, it could be done. See the recent Ethereum network rollback.
However, this is not something that can be done casually or without major coordination.
Of course, if a person receives a payment from an address that said person does not approve of, that person is free to send the coins back to the payment address or elsewhere.