Perché la prima funzione sostanzialmente prende tutti gli elementi <a> presenti IN QUEL MOMENTO nella pagina e vi associa una funzione ad ognuno di essi. Quando ne aggiungi un altro, chiaramente, non gli è stata associata una funzione, perche la prima funzione è stata chiamata in un momento in cui non esisteva.

È che la funzione $('body a').click(funct); serve a non scrivere un codice più lungo che sostanzialmente fa:

1-ottieni tutti gli elementi che coincidono con la regola di CSS
2-per ognino di essi associa all'evento onclick, la funzione funct

è come se prendesse n elementi <A>

e chiamasse:

a.click = funct;

(poi non so se fa l'append della funzione, cioè se aggiunge la funzione a quella eventualmente già presente, o se la sostituisce)

Spero di essermi spiegato