College advisors in your department are also great.
Honestly, this is one thing where LAC's rule. I had an advisor on my first day of class for a major and I kept in touch with her through all of college. I ended up majoring in biochemistry, which she co-taught, and she wrote one of my LOR's. I got a B- in Biochem, but she knew my life pretty well. I also started doing research in her lab, but quit to do something else. I've been in touch with her through my post-grad years as well and visit if I'm ever around my undergrad.
While she probably referred to me as 'idiot boy' in my LOR, which was her nickname for me, I don't think anyone else has her vantage point of having seen me grow up since I started in school (struggles, character, etc.).
I think mentors for clubs/activities are also good LOR writers, but I think atleast one person should be a science professor that you developed some sort of connection with. It's harder for non-science majors I suppose since I saw my professors around all the time, had beers with them, etc.
What I'm saying is that it honestly depends on your relationship with the person. I was totally fine getting a LOR from her even though I didn't do well in her class because she knew what my college years had looked like and could talk about how I had grown through college and after. I'm willing to bet that her letter was the strongest LOR that I had written for me. I wish I could read it after the cycle was done. I'm like 95% sure that it would make me cry.
I also had 2 LOR's from physicians, but I worked for both of them in a full time job and they came to know me pretty well. I had another from a non-science professor, and then a panel letter.
I had my professors write letters when I was an undergrad as my school keeps them on file for 5 years (paid service). When I was ready to apply, I asked my professors if they could update the letters. I also went back to campus to meet my letter writers. I took one of them out to lunch to catch up (basically provide context for the update) and visited the one I was in touch with to see how she was doing.
Granted, this isn't feasible for everyone, but if you want a good LOR, you have to make the effort to make meaningful relationships. I genuinely like and respect my LOR writers and always enjoyed popping in to talk to them and see what they were up to. I guess this is stuff that frosh/sophomore should be told.