He is still very tiny, his digestive system is only just learning how to work, and everything in the outside world in strange to him. You are his safe comfort zone, so it is understandable that he wants to be held and to feed all the time.
As other have said it really does start to get better from about 6 weeks, and by 12 life will have a manageable pattern, and your ds will probably be sleeping through.
My advice to to just accept the stage you are at - bfs should take about an hour, and keep winding to make sure he isn't temporarily feeling full due to a bubble of air. The trick is to end a feed when he is completely satisfied, and then he will go a reasonable time to the next one. It is in your interests to avoid him snacking and comfort sucking.
Get a baby carrier. I nearly cracked up before I got one of these! It can be a life saver as most babies will fall asleep in the carrier, which allows you to get on with other things and have a break from entertaining them.
At night, bf lying on your side. You get a rest, and the baby usually has a very calm (almost a dream) feed and is easier to settle afterwards. I also fed lying down in the day if I was particularly tired.
At 3 weeks they have a growth spurt, which nearly breaks most of us as they feed relentless and often (my dd could do 90mins on the boob and be hungry again an hour later), are fussy and are very hard to settle. It lasts at most a week, and is tough, but it isn't permanent. Your milk production will also be naturally increasing to keep up which is turn will exhaust you. I expect you are going through this now, so try to rest and eat/drink more.
If you can stretch to it a cleaner once a week and a stock of ready meals will really help.
Don't leave it too late to introduce a bottle, as if you do they may refuse it. I had a lot of trouble getting dd to take a bottle at 10 weeks. If you express one feed or introduce one formula feed your DH can do the 9pm bath and feed and you can go to bed.