This is something i stumbled upon in my current play through as once again I would have one particular settlement I wanted but couldn't unlock the workshop. I didn't want to kill everyone to take it but getting then to give me a quest was so random it was painful. I finally figured out why. There's a global value called: MinutemenMaxActiveRecruitmentQuests which by default is set to '1'. It seems to work by selecting one already populated settlement at a time even if it's one nowhere near you, meaning other settlements won't grant recruitment quests whether you've joined the Minutemen or not. I tried changing it by typing: Set MinutemenMaxActiveRecruitmentQuests to 10 then fast travelled away then back to the settlement and sure enough the settler had a quest for me. Not sure if it will have any adverse effects later on but I just thought I'd share this since it bugged the hell out of me especially on Minutemen play throughs.