Write the output of your script to a temporary file, count the number of lines in that file and move the file to a new name:
t=$(mktemp) && len=$("$HOME/script" | tee -- "$t" | wc -l) && mv -- "$t" "$HOME/targetfile-$len.csv"
If you are not using GNU wc, you may get whitespace characters at the start or end of the value in $len. You would then need to strip these out:
t=$(mktemp) && len=$("$HOME/script" | tee -- "$t" | wc -l) && mv -- "$t" "$HOME/targetfile-$(( len + 0 )).csv"
I run "$HOME/script" only once here and save the output to a temporary file ($t) and, at the same time (courtesy of tee for duplicating the data), count the number of lines in the output. The temporary file is then moved to the new name.
I would probably put this in a separate script and schedule that, rather than scheduling that whole list in my crontab.
The script could look like
#!/bin/sh
tmpfile=$(mktemp) &&
length=$("$HOME/script" | tee -- "$tmpfile" | wc -l) &&
mv -- "$tmpfile" "$HOME/targetfile-$(( length + 0 )).csv"