This is a JavaScript question more than it is a Django one, as your problem is client-side. What browser are you running this in? I've just tried it in Safari, Chrome and Firefox on a Mac and haven't come up against the same issue.
What you're doing is slightly odd, as I'd normally recommend using a button rather than an ImageField, but there's strictly-speaking no reason it shouldn't work.
See if this helps, though:
It's usually better, in modern jQuery development to pass your callback to the on('click') function when you want to bind to the click event, rather than calling click() and passing in a function. This helps reduce the likelihood of callbacks being triggered multiple times. So something like this:
<script>
$('input[type="image"]').on('click',
function() {
$('#my_file').trigger('click');
}
);
</script>
Also make sure your script isn't running twice for some reason. Maybe add a console.log line before you trigger the file input's click event, so that you can see if your callback is actually being run twice for some reason.
Hope that helps.