What do I have to do so that the function that I bind with the <KeyPress> event only triggers once, even when I hold the key?
There may be nothing you can do. It could very well be that the keyboard itself is sending multiple events (ie: it's a hardware problem that can't be solved with software).
These events are probably coming very close together -- maybe every 100ms or so. You can use that knowledge to affect how you process events. For example, you can only do something special on a key release if it was at least 200ms after the last press.
Python: Tkinter Keypress Event Trigger once: Hold vs. Pressed