As a developer I already start to scream at the mere idea of having to maintain 2 versions of the same program.

What I would do is see if you can detect if it's the Steam or GoG version. You could just create an achievement function that you call from the rest of your code whose purpose is just to call the proper platform call. That way you won't need to maintain 2 versions. Alternatively you could just set a variable that tells you what platform it is. That would be the only difference between the two.
I think the platform can't be detected directly (see below my answer to Jaga).
My idea, since the Steam achievements are set by an independent routine, is that I will only need to change the code in that routine, but I will need to keep both versions separate to avoid issues down the road (like uploading the wrong version to the wrong platform).
Kinda need to anyway. Steam wants DRM and GOG wants none.
DRM isn't mandatory for Steam. Desirable, but not mandatory.
Sounds like each new platform is increasing workload exponentially, dragging you down into the mud. Where you once had a Patreon (etc) version, now you'll have 3 of them, all different. And that's assuming you don't release any special higher-tier Patreon versions.
If there's a way to have RenPy detect loaded DLL on-the-fly, you might be able to check for Steam/GoG and switch achievement processing/output code without needing separate game versions. That would drop you to just one game version total.
I'm appreciative you've gained the Steam platform, and perhaps GoG soon. But typically having any kind of game on multiple platforms impinges on development time, and it would be a loss and a shame to think you'd have less time to develop as you have in the past, due to administrative red tape.
Ren'py can detect files in the folder. I don't know if GoG adds any files there, but Steam does. If both do, it can be something as easy as starting the achievement routine with:
If it has a Steam DLL, set the Steam achievement.
If it has a GoG DLL, set the GoG achievement.
If it has none, ignore the achievements part (useful for Patreon/SS/Free downloads).
The "good" part is that my idea for releasing on platforms is to publish the finished seasons there, so it won't need a lot of maintenance. It's not the same as if I were releasing each update there. That would be a nightmare (and I would need to pass once again through the approval process).