This is a combination of two things: poor bidding and pretty much worst case distribution, which sometimes is just impossible to deal with in a good way.
West's opening is totally fine, of course; 5-5-2-1 distribution and 10 HCP in the long suits is a fine opening bid. North's pass is a little shaky, but at Vul-Vul it's probably okay; NV it seems like an easy takeout double, assuming you play at least that much.
I don't necessarily agree with your 3c, though if that's what you agree that bid means, it's fine. SAYC would probably hold that your bid is correct, to be honest, I just like playing 3c there much weaker, and using the double in that position to indicate such a strong hand (you have basically 7 quick tricks, as you'd usually count them, plus a firm stopper in spades for an 8th trick - you make 3NT with only one trick in partner's hand plus almost anything in clubs other than what actually happens). But in SAYC I think 3c is actually doing what you want - inviting 3NT, which partner should consider bidding, though the lack of spades probably prevents them from doing so; I would probably bid 3S there in North's seat to show the lack of spade stopper. But that's well beyond the capabilities of a SAYC bot, I suspect.
West's 3D rebid is perhaps where things go a little shaky at V-V. 10 HCP in two suits, 5-5-2-1, is tempting to bid there; but it doesn't really accomplish much, other than warning you all about a second risky suit in NT, and maybe giving their partner a second suit to lead if they run out of spades - but they have 0-4 points, and aren't really interested in leading things. The only time that's really going to work out as a bid is if partner has a long diamond suit, and they can play 4DX for less points than 3NT will make; the times that's true AND they can't set 3NT seems ... iffy.
North's pass is one of the worst bids at the table, though it seems to have been helpful in some fashion at least in that it let E-W get in more trouble. I'd want to hear something from North here; depending on your conventions it varies what N is supposed to bid, anything from 3S (invite 3NT with a spade control in s) to X (showing interest and maybe promising diamond control?) to 3H themselves (okay, this is mostly a bad idea, but it might be the only way to invite 3NT with no spade control with limited conventions).
3H by East is pretty bad, also; while it's attempting to find a third suit, West pretty much guaranteed a 2 suiter like they have; East should have more heart length there, and maybe also more heart strength. 6-1 distribution is what East should expect, and on top of that JT-led suit is just not going to play well. Leave it in the 5-2 diamond fit, and maybe get a spade ruff at least in diamonds (as they did).
Your double is definitely not takeout, by the way. You're penalizing them at this point. You've already had the chance to takeout double - on your first call - and didn't. Your initial bid defined your strength and distribution; X here is just whacking them. You're probably fine with the penalty at this point, honestly, though I might just bid 3NT also; but with north staying silent (despite having the second best hand at the table opposite a theoretically strong partner), X is probably the better choice.
4D by West is, again, fighting against partner, and asking for trouble. This is a common problem for newer players; forgetting that bridge bidding is a conversation, and instead deciding they have all of the information and acting based on it. Bad fits lead to this kind of messy bidding. If you find yourself in this situation, maybe make the 3D bid (like I said, still not a great idea vul, but it's not the worst thing here) but then listen when your partner says no to your two suits.
The way this bidding should go, in my mind:
1♠ - p - p - X
2⋄ - X - p - 3⋄
p - 3NT- pass around
First X is a general takeout double showing strong hand. 2⋄ is much easier bid to make for west (and you could argue 3d is better here, being a weak jump shift and more accurately describing the hand, but Vul it's very risky and I think a poor idea.) X for North shows probably 4 hearts and interest in game; many partnerships would allow a 2♥ bid there with four (after the first takeout double).
3⋄ is a "I don't have diamonds covered" bid (a "cue bid") seeking 3NT; this is a very specific agreement though and should be discussed, as with two outstanding suits it could have the opposite meaning. 3♣ would also be okay, and SAYC is probably better, showing that the original X was a stronger bid with a club suit and not hearts. Then N would have to somehow indicate they were okay with diamonds and not with spades, or just take the leap of faith and bid 3NT. (This is why cue bids are important to discuss!)
Either way, this should be fairly standard to get to 3NT, or failing that you might end up in a basically unmakeable 5♣ contract (you ought to lose the first three tricks regardless of the direction, spade-spade-spade ruff).
One note: you use the word "raise" slightly wrong here. You only raise when you bid partner's suit at a higher level. Anything else has another word. Overcall is when you bid over opponent's bid; shift is when you bid a different suit over partner's.