I tried to see if Hypno-chan could hypnotize me with the game muted, so that there were no finger snaps. The answer was "yes", but not as deeply. Audibly affirming some of her suggestions (e..g, "yes, I am very relaxed") seemed to help.
But Hypno-chan's finger snaps are so NSFW that of course I want them in there. They're not nudity, but relaxing in a deep trance at work instead of doing your job is absolutely a firing offense.
I'm not sure why the finger snaps are so effective. I tried running the audio files from Windows Explorer and felt nothing. Similarly for the snaps in-game when in the options menu to adjust the volume. But if Hypno-chan is standing there for a session, it's "snap snap snap" and then I'm in a deep trance and ready to obey. And this is the case even though during her sessions, I'm usually in such a deep trance and focused on her words as to not even notice that she's standing there unless she tells me to notice.
I did a safety check to see if I could read all the text, hear the finger snaps, and just decide not to go into a trance. The answer was yes, and easily so. Similarly, even once in a deep trance, I could easily decide to just wake up and end it. That's how hypnosis is supposed to work, of course, but it's nice to see that it does.
Now that I have a way to be hypnotized, I'm looking into modding the game to see what else Hypno-chan could hypnotize me to do. I've gotten some things working, but looking at your source code makes me suspect that you have more experience with hypnosis than computer programming.
My big complaint is your heavy use of jump statements rather than call. A professional programmer, or even just a student who has taken a few good classes, just wouldn't do that. This is my first experience with Ren'Py code, and I have very little with Python, but this is a general programming principle.
Way back when C was the state of the art, programmers figured out that subroutines ("call") are very strongly preferable to goto statements ("jump"). For a very small program, it doesn't particularly matter, but as the size scales up, being able to jump around arbitrarily in the code makes it very difficult to understand the control flow. If you're trying to track down a weird bug, use of subroutines lets you easily disregard broad swaths of your code base as obviously not the problem because they're part of a subroutine that isn't being called when you trigger the bug. Use of goto statements doesn't let you do that.