What is someone whose tendency/act is to leak the surprise called?
Some more generic terms for someone who talks too much or indiscreetly: prattler, blabbermouth, motormouth, bigmouth.
If it's someone who can't act the part, I would simply say a bad actor or, if trying to be humorous, a person with limited thespian talents.
A blabbermouth. While not specifically about them blowing the surprise, I'd also call them a jerk or a party-pooper.
You could label someone a dampener and consider it appropriate in this context, although some might argue otherwise.
A known figure of speech goes something like this, from The Free Dictionary:
Put a damper on something
Fig. to have a dulling or numbing influence on something. The bad news really put a damper on everything. The rainy weather put a damper on our picnic.
I personally think this could be applied to 'dampening a surprise', and further, the person committing such an act deemed 'a dampener'.
A spoiler? Or maybe somebody who throws a spanner in the works?
If someone throws a spanner in the works, they prevent something happening smoothly in the way that it was planned, by causing a problem or difficulty.