Имя элемента в свойстве не храниться, храниться только его ID.
По этому вы сначала получаете его ID как и сделал и делаете второй запрос CIBlockElement::GetByID или еще лучше CIBlockElement::GetList то есть получаете данные уже самого элемента.
$res = CIBlockElement::GetProperty($IBLOCK_ID, $ELEMENT_ID, array("sort" => "asc"), Array("CODE"=>"TOVAR"));
while ($ob = $res->GetNext()) {
$id = $ob['VALUE'];
$element = CIBlockElement::GetList([], ['=ID' => $id], false, false, ['ID', 'NAME'])->Fetch();
}
Соответственно в $element['NAME'] будет ваше имя.
Еще можно вот так
$element = CIBlockElement::GetList(
[],
[
'IBLOCK_ID' => $IBLOCK_ID,
'=ID' => $ELEMENT_ID
],
false,
false,
['ID', 'PROPERTY_TOVAR.NAME']
)->Fetch();
В таком виде имя элемента будет $elemen['PROPERTY_TOVAR_NAME']
Если свойство множественное, данные способы тоже применимы, но не правильные. Тогда лучше собрать все ID элементов в массив и сделать только один запрос в базу вместо запросов в цикле.