It's not you. He does clearly find you attractive.
He's lazy/selfish/not into giving. That's a him problem.
Re the meds - that sounds like it was an illegal stimulant of choice. Just in case he does have performance issues, maybe he should see a doctor or get some Viagra or equivalent over the counter at a pharmacy, see if that makes any difference. You haven't given enough details to be sure on this though.
Since you say he's a good partner in all other respects, I suggest talking to him in the first instance (yes, you've done it before but then nothing changed from him and you accepted that, so he'll likely now think that it no longer applies as there were no consequences).
If nothing still changes, every time he initiates receiving, I'd reply something like "I'd love to, but as we talked about, I feel it's very unbalanced and I'd like to receive before I give anymore." And if he doesn't step up, (don't go first on his assurance), then no sex, no BJs, no performing for or pleasing him in any way, because why should you when he knows you're unhappy and still won't reciprocate....
Yes it's an awkward conversation & situation. But the alternatives are living with crap unsatisfying sex forever more, or breaking up with him because he's not stepping up.
If he still doesn't step up, then it's likely find a new partner time.