I think the problem is, that the default click-behaviour on a label with an id-attribute forces this. I changed your javascript to do what you want and added a bit more debug:
jQuery(document).ready(function($) {
$('.panel label').on( "click", function(e) {
// prevent the html to automatically check the corresponding checkbox
e.preventDefault();
var my_id = $(this).attr('for');
console.log('clicked: ' + my_id);
if( $('#' + my_id).is(':checked') ) {
console.log('checked: ' + my_id);
$('#' + my_id).prop('checked', false);
} else {
console.log('check now: ' + my_id);
$('#' + my_id).prop('checked', true);
}
});
});
But you might also want to apply that behaviour to onClick on the radio buttons itself?