Sort last column numerically descending with **GNU** awk:

 awk '{
 row[NR]=$0
 last[NR]=$NF
 }
 END{
 PROCINFO["sorted_in"]="@val_num_desc";
 for(i in last)
 print row[i]
 }' file

As one line:

 awk '{ row[NR]=$0; last[NR]=$NF } END{ PROCINFO["sorted_in"]="@val_num_desc"; for(i in last) print row[i] }' file

Output:
<pre>
hello my name is Jordan: 476 
hello my name is Manu: 98
hello my name is Joi: 45
hello my name is Loi: 23 
hello my name is John: 4
</pre>

See [8.1.6 Using Predefined Array Scanning Orders with gawk](https://www.gnu.org/software/gawk/manual/html_node/Controlling-Scanning.html) for more sorting algorithms and [8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR](https://www.thegeekstuff.com/2010/01/8-powerful-awk-built-in-variables-fs-ofs-rs-ors-nr-nf-filename-fnr/)