Try this:

    (define-key mode-line-buffer-identification-keymap [mode-line mouse-3] 'list-buffers)

That does not show buffers whose names begin with a space.  If you really want to show *all* buffers, then try this instead:

    (define-key mode-line-buffer-identification-keymap
                [mode-line mouse-3]
                (lambda ()
                  (interactive)
                  (display-buffer (list-buffers-noselect nil (buffer-list)))))

(However, I agree with those who commented that this is a very useful thing to do.)