Потому что Чарминг - это фамилия, а Воробей - прозвище. Точно также Бильбо будет Бэггинсом, а Торин - Дубощитом.
В более древние времена имена-фамилии переводили (именно поэтому мы знаем персонажей как Белоснежка, Золушка и Бармаглот, а не Сноу-Вайт, Синдерелла и Джаббервоки), но в современном языке это не принято, и зрители/читатели очень часто в штыки воспринимают даже те случаи, где это оправдано (а в случае с Чармингом это определённо оправданно), так что переводчики часто предпочитают не рисковать.