Feel obligated to stay in relationship

I’m not really happy but I feel like I need to stay. So my boyfriend and I have been together for slightly over 2 years. He lives at my house with me and my parents. His family is pretty shitty and has never helped him or been there for him. So if he leaves my house he doesn’t really have anywhere to go other than to live with his aunt maybe. I just finished nursing school and start my job in a couple weeks and his birthday is also in a couple weeks. We also have 3 dogs together. I haven’t been happy for a while but I’ve been trying to stick it out hoping I would fall back in love with him. He is absolutely amazing, he is a super sweet guy and would do anything for me! ......but I don’t feel in love with him anymore, I don’t feel attracted to him anymore. We have fights because I don’t really like to be intimate anymore with him. I feel like if I end things now that I’m going to be the worst person in the world and that he will hate me forever. I’m feeling more and more pressure because when I start working we are planning on buying a house and I just feel trapped. Is there something I can do to make myself fall back in love and be attracted to him again? Or is there advice on how to end things? Has anyone else ever been in this situation that could let me know I’m not alone???