I don't think it is long at all. 3 years is pretty standard for an IM fellowship. In fact, you would be hard pressed to find many 2 year fellowships left. Rumor has it that Allergy/Immunology will become 3 years. Pulmonology by itself is a 2 year program but there aren't many of those in existance considering most programs have done away with them by incorporating critical care into them which makes it 3 years. I think Endocrinology is 2 years.
Considering the responsibility cardiologists have, I think 7 years is appropriate. It could be worse. And internal medicine isn't that bad of a residency. Yes, the intern year is bad but years 2 and particularly 3 are not bad at all. Compare that to a 5 year general surgery residency in which even years 4 and 5 are still grueling. And then fellowship offers an easier lifestyle than IM residency. So technically it's 7 years but it's not like 5 years of general surgery and 2 years of a difficult fellowship. You can't just look at the total numbers of years and make any type of assessment about it. You have to examine the quality of years.
And lastly, cardiologists are not exactly underpaid. If you look at most salary surveys, their income ranges from 300-400K and those are conservative estimates. Many cardiologists who have been working in private practice for a few years are earning in upwards of 500K so there is a light at the end of the tunnel. It's not like endocrinology and rheumatology in which you will earn just a little more than you would as a generalist after fellowship.
If you are interested in lifestyle fields this early on then I would ask that you seriously start looking into Rheumatology, Endocrinology, Allergy, Pathology, PM&R and Radiology. Cardiology is not a lifestyle field. You will have to work hard and if you are questioning lifestyle this early in your career then it's likely you don't have the personality for cardiology and you will later regret your decision. Cardiology isn't like a lot of other fields. I know several people who go into radiology and could care less about the field. But those in cardiology genuinely seem to love their field and would still do it if they were being paid less. I don't see that in a lot of fields but in cardiology I see it. You really have to like it deep down otherwise you will be miserable It's not for everyone.
I agree that lifestyle is important but there is a reason certain fields medicine are paid so well. These fields come with a major cost: your time! It's kind of funny because a lot of physicians don't stop to think about lifestyle. There are several fields where you could earn between 200-300K and have a much better lifestyle. Aside from living the life of P Diddy, you could afford everything you wanted in life at that salary except you would actually have TIME to enjoy those things.