При каждом обратном вызове вы не ограничиваете область действия селектора, а просто захватывает первую метку, найденную при вызове .attr. Попробуйте что-то вроде следующего ...
$("input:checked").each(function() {
$(this).next("label").text(); //Or
$(this).parent().find("label").text(); //Depending on your markup
});
Эта область выбора элементов вокруг флажка, а не всего документа