I've attached a patch that addresses the recursion issue with Emacs 28 and shows eldoc properly with example python. It presumably should act the same with older versions of Emacs, although I haven't tested.
diff --git a/contrib/lisp/org-eldoc.el b/contrib/lisp/org-eldoc.el index 3b0999340..ccc23b523 100644 --- a/contrib/lisp/org-eldoc.el +++ b/contrib/lisp/org-eldoc.el @@ -116,9 +116,12 @@ (when (fboundp mode-func) (with-temp-buffer (funcall mode-func) - (setq doc-func (and eldoc-documentation-function - (symbol-value 'eldoc-documentation-function))) - (puthash lang doc-func org-eldoc-local-functions-cache)) + (setq doc-func (if (boundp 'eldoc-documentation-functions) + (car eldoc-documentation-functions) + (and eldoc-documentation-function + (symbol-value 'eldoc-documentation-function)))) + + (puthash lang doc-func org-eldoc-local-functions-cache)) doc-func) cached-func)))