Lots of good advice here, and I hope you find something that works for you.
I just wanted to address something you said, about your baby not feeding for more than 20 minutes - this can be totally normal. When he was little, my son's feeds lasted maybe 10 minutes, but he was getting plenty in (lots of wet/dirty nappies coming out and gaining weight well), he was just an efficient feeder and/or my milk came out quickly. Don't stress about the length of feeds, just let the little one feed until they are done.
Cluster feeding in the evening is exhausting, but it is also totally normal.
Given he is only three weeks old, so only tiny, nothing you have said sounds out of the realms of normality, so if that's your main worry then I would try to relax - as long as you're seeing plenty coming out of the other end and they are gaining weight, then you're doing fine. Having said that, if it's not working for you then absolutely look into other options - talk to people who are knowledgeable about bf, maybe get his latch checked to ensure he is transferring milk properly, get him checked for tongue tie, and speak to someone about the best way/time to introduce a bottle to ensure that you don't affect your supply too much.
Above all, DO NOT feel guilty about any of this, or about any decisions you make in you and your baby's best interests. This is a tough time, you're doing awesomely!