buenas...
lo que sucede es que el nombre de los checkboxes conflige con la sintaxis de javascript. notese que los nombres contiene corchetes los cuales en javascript se interpretan como array o propiedad. para que este conflicto no suceda, debes usar una sintaxis un tanto distinta para acceder a ese elemento. consiste en reemplazar el operador punto por un par de corchetes y dentro de este escribes el nombre de la propiedad en tipo string. notese que en ese string puede contener cualquier caracter que no es aceptable en la sintaxis de javascript.
Código:
obj['prop'] = value;
obj['property name'].prop = value;
obj['complex prop[other content]']['more prop'] = value;