taxonkit reformat supports input of TaxIds (since v0.8.0) and recognizes "\t" in output format. Therefore, it can be simplified as:
taxonkit name2taxid names.txt \
| taxonkit reformat -I 2 -f "{k}\t{p}\t{c}\t{o}\t{f}\t{g}\t{s}" -o result.txt
Add header and save to XLSX format if you like:
taxonkit name2taxid names.txt \
| taxonkit reformat -I 2 -f "{k}\t{p}\t{c}\t{o}\t{f}\t{g}\t{s}" \
| csvtk add-header -t -n "name,taxid,kindom,phylum,class,order,family,genus,species" \
| csvtk csv2xlsx -t -o result.xlsx