Following hint by @muru to use -I in xargs, the working command (assuming GNU implementations of find and xargs) is:
find "path1" -size 0 -printf "%f\0" |
xargs -r0 -I mystr find "path2" -name mystr -exec ls -ld {} +
(that assumes the names of the empty files don't contain wildcard characters as -name interprets its argument as a wildcard pattern)