Если я правильно понимаю вопрос, то проблема что вы всегда берете только первую характеристику при парсинге страницы с характеристиками:
#характеристики
xariki = details_doc.cssselect(HARET_PATH)[0].text_content()
xariky = details_doc.cssselect(HXARET_PATH)[0].text_content()
haret_elems_list.append((xariki, xariky))
Должен быть цикл по всем details_doc.cssselect(HARET_PATH) / details_doc.cssselect(HXARET_PATH)