I think that transistor is just there to switch on/off the 12V volts, so probably any small signal jelly bean NPN transistor will do. The 2N3904 seems to belong to the same family of transistor as the 2N3903, so it should be fine.
Those 1K resistors are most likely there for protection (current limit) of the connected device and the Arduino. In the later versions of the HV shield those resistors are omitted. I think he even said so in his blog. Can't be bothered to look where he wrote that tho.
In general I'd say you can omit them too or replace them with a similar value (470R to 3K or smth like that). It probably doesn't really matter.
Also take note that this is not a fully fledged programmer, it's just there to fix bad fuses. It doesn't seem to support writing to the flash memory, just the lfuse, hfuse and efuse area. I don't know if efuse memory area is included in the older version of the shield.
Cheers, Florian