I feel like the reveal/choose mechanic needs to go. Not because it's too political or anything, but because it weakens the card too much. If you can only block action cards your opponent already has, there's a good chance he wasn't planning to buy more, anyway. You should just be able to pick a pile to block. It's probably wise to restrict it to action (or maybe kingdom) cards, though, because a) putting one of these on the provinces would be really obnoxious, let alone two or three, and b) it helps keep the feel distinct from embargo.
I wasn't sure how annoying that would be. Say two players buy Zombies. It's conceivable that after turn 6, there's only 5 non-Zombie Kingdom piles left. The more players you add, the worse the potential. I suppose it only gets really annoying if everyone is buying them and using them specifically to blank the piles, but it's an easy fix just buying or moving them off the zombified piles, and they run out quick enough on their own (also, you can just move them around with your own zombies rather than buy them up). I think it might be fine your way; the greatest appeal is how much more elegant it makes the card:
Zombie (3)
Action - Attack+$2
Move a Zombie card from any Kingdom pile onto a Kingdom pile of your choice.
---------------
If Zombie is on a Kingdom pile, cards beneath it can't leave that pile.
Waaaaaaaaaaaay cleaner. Hopefully not incredibly annoying.
With the +$2, I'm a little worried that this card is too close to a strictly-better duchess. The fact that you can gain duchesses for free is probably enough to compensate, though.
I'm not sure why you're comparing this specifically with Duchess. Their effects aren't that similar, Duchess costs $1 less, and plenty of actions cards costing $3 provide $2 + an effect.
The blocking effect could be much stronger in multiplayer, because often nobody would want unblock a pile for fear of giving their opponents an advantage.
At the same time, if you play a Zombie and move a card off a pile, you're the first person with the opportunity to purchase from that pile. The interplay might work there.
This card should swing the balance toward big money, since the money player will probably have the actions he needs before you can block them.
This also has a funky way of both emptying the Zombie pile and preventing other piles from going empty. I'm not sure who that favors, play-style-wise.
This card counters itself pretty strongly, because you aren't impeded by the zombies on the turn you play it. The only alternative counter is to buy the zombie on top of the pile you want to get at, so either way, you end up with a zombie in your deck. Generally, I don't like that sort of thing. I'd like there to be an alternate way to get rid of the zombie. Paying extra $ to get the card might work, but isn't very thematic. Maybe discard an action card to lure away the zombie?
I wouldn't like that style of play if it was over-used, but an occasional card seems fine. It can be easy enough to just avoid Zombies sometimes, going Big Money or some other insular strategy.