This branch: https://github.com/emacs-mirror/emacs/blob/emacs-29/lisp/cus-edit.el#L1109
No it does not saves only one variable to file, it only saves one variable to file if you have only modified one variable.
As a matter of fact, custom-variable-save, custom-variable-mark-to-reset-standard, custom-face-save, custom-face-mark-to-reset-standard and custom-group-save all have the same problem. They all call custom-save-all and they all dump all modified customizable variable values on file without regard to whether it’s a single variable, face or a group the user asked Emacs to save.