Why not combine ls with find to eliminate your sort and use an inner while loop instead of xargs
find $fdir -name '*.log' \
-mtime -$(( days )) \
-mtime +$(( days - 8 )) \
-exec ls -1rt {} + |
tail -n+2 | while read f; do
rm $f 2>/dev/null
fcount=$(( fcount + 1 ))
done