Issue #24925 was closed based this comment:
To recruit one of the top-level vendors, at least one of your workshops must fulfill the following requirements:
(1) A matching vendor stand must already exist at the workshop.Thus, iIf you want to recruit Rylee, there must be a MiscItem vendor stand existing. This vendor stand must have the highest level, but whether it is unassigned or already assigned to somebody else doesn't matter.
(2) The total linked population rating of that workshop must be larger than a minimum value
The total linked population rating of a workshop is equal to that workshop's population plus the sum of the populations of all workshops that are connected to it by supply lines.
The minimum values vary from 10 to 40, depending on the trader type (they are defined in properties of WorkshopParentScript)
I have a save with one surgery center and more than 20 settlers in a settlement, and I still don't get the recruitment dialogue for Doc Anderson.
The recruitment dialogues are conditioned on global flag variables such as WorkshopVendorClinic. These variables are manipulated by WorkshopParentScript.psc, its properties, and the UpdateVendorFlags() function. It looks like WorkshopVendorClinic is supposed to count the number of surgery centers contained in a settlement that satisfies the minimum linked population requirement. I've ended up with WorkshopVendorClinic being -8. A workaround is to build 9 more surgery centers, at which point the recruitment dialogue becomes available.
I was able to bisect some older saves and track down the issue to Nuka-World raider outposts. After Open Season, the flag variables went very negative.