Within the past few years Apple released a new API to access photos. In the past a developer could ask for full access and you could give it full access OR you could select a few images to give it access to. In both cases the photos you give access to can be read from the app.
The new API allows the app to ask you for a photo without needing to first request permissions. The photo picker that pops up is NOT controlled by the app and it doesn’t have access to it. The app ONLY gets back the image you pick (if you pick one).
A lot of apps that want you to provide a photo only care about that 1 photo and have no desire to have full access to your photos so this new API is great addition and it avoids annoying permission dialogs. There are, of course, legit reasons to want full access but now users have finer grained controls on what they share with apps as full access can revel a LOT of private data about you.