Потому что Вы вызвали цикл но не пользуетесь им. Вместо $("option") внутри цикла надо использовать $(this) который возвращает текущий элемент
$("option").each(function(){
		var name = $(this).text(),
			text = name.substring(name.indexOf('{') + 1, name.indexOf('}'));
		$(this).attr('data', text);
	});