There are two components to building an encounter, I'm going to reiterate them even though you seem to have them, just so we make sure we're on the same page. These rules are laid out in the DM guide document of BD&D and should be much further expanded in the DMG.
CR only sets the maximum (not minimum, lower CR critters are designed to challenge in increasing numbers as you level) value for which a party should be facing. Generally you don't want to throw a CR 4 monster at L3 PCs (though you might on occasion if you want an especially deadly encounter).
the XP budget for the encounter type and number of characters is your primary source for building encounters, you take the appropriate budget number for each of your PCs and add them up (so for 4 L4 PCs that need a moderate challenge, your budget is 600). Make sure to factor multiples of the same monster as an adjustment to the XP budget (so if you wanted your PCs to fight a horde of goblins at 50 XP each, you'd need to factor that in. (you don't want them to fight 9 goblins, you want them to fight 4 or 5).
If you're doing those two things, WOTC thinks that you'll be balanced. However, this definitely does not mean your party will not wipe what supposed to be a hard fight easily and struggle with what's supposed to be an easy fight. In fact I expect them to.
The reality is that some encounters are simply a bad fit for your party composition, or a bad fit in general for that level of character. Other times encounters are an excellent fit and you've got an easy one on your hands.
The important thing, ultimately, is to learn the capabilities of your group and to identify the types of monsters and challenges that are hard for them and that they can overcome easily. This is obviously a lot more work than WOTC's advice on the subject. However, every group is different and it would be quite hard to give advice that works for everyone.
All D20, but DnD 5 especially, are designed and balanced assuming a 4 or 5 player party. And you can kinda tell, when the rules start asking you to apply multipliers to bigger parties, rather than giving any concrete guidelines. Assuming distributed player competence, a 6 person party isn't simply 20% stronger than a 5 player party. It's much higher. There's an entire additional PC, with their own suite of abilities, magic items, and most importantly, actions. Never underestimate the power of having more standard actions than the other guys (unless you're a pack of CR1/2 minions going up against a bunch of level 5 adventures, then you're screwed either way).
In short, designing challenging encounters for big parties is one of the more substantial challenges a GM may have to face. There seems to be a razor thin design space between "no actual danger" and "guaranteed TPK" when planning for large parties. My own personal strategy is "5 players per party max unless you have a super good reason that a sixth needs to be in this particular game, and never ever ever ever more than that (and preferably not 6 for long)," but that probably won't help you, specifically.
First of all, stop giving them one big thing to focus on. There are a couple iconic encounters that tend to necessitate one big monster against a party of intrepid heroes, like dragon slaying. The problem here with big parties is 1 creature generally can only attack one thing at a time, so even if the beastie is downing 1 PC a round, the rest of the party can pop cool downs and beat the timer. If you design the combat space so the beastie can use it's AOE abilites to good effect, you often find yourself looking at a TPK. Quantity may be a quality all it's own, but it isn't everything. Basically, when the party is that big, the single monster encounter HAS to be able to one round KO any given PC, or it's not a threat. And while it's killing one PC a round, the remaining party members HAVE to have a DPR high enough to whittle the beastie down before it kills them all, or they all just die. SO! Anytime you're tempted to let 7 or 8 dungeon crawlers dogpile one big boss monster, resist the urge. Instead of fighting one wyrm, why not a mated pair of adults, maybe with a wyrmling thrown in to harass the squishies? (Actually, this particular piece of design advice sort of holds true for any size party if there's more than one healer to keep the front liners standing)
Secondly (related to the first), if your party outnumbers the monsters, they'll probably win unless each monster is SIGNIFICANTLY stronger than the PC. I can't give concrete CR equivalencies because it's different at different power bands, but 7 lvl 5 PCs who know which end of a longsword is pointy should mop the floor with 5 CR7-8 monsters. The power of two players worth of extra actions is too substantial to ignore. Design the encounter using the guidelines in the DMG, then add a few support casters or bowmen(or bowwomen, or bowgoblins, or bowwhatevers) at a little under CR to bring the numbers within 1 of the party.
Finally, if you're going to do mob (mob in this context being a large angry group, not a MMO enemy, nor a crime family) encounters, consider looking at the minion style monsters from 4th edition. They had decent defenses and attack bonuses, but 1 HP and very low damage. Custom brew up something mob-able, maybe give them advantage for being adjacent to allies, with a decent attack bonus and a beefy AC, but a damage range of a d3 and very low health. And remember, mob fights aren't typically meant to be challenging in and of themselves, they should be hard enough to drain some resources while letting the players feel like badasses for steamrolling through a pile of enemies. Remember, damage spread to 7 players hurts a party much worse than that damage stacked on 1 or 2 frontliners.
Best Answer
You Can't Nerf and Respect at the Same Time
Essentially, you cannot. You're asking for, in essence, "What is my next step in the arms race?"
If you have a party of the expected level and number of players, you don't need any rebalancing to accomplish interesting.
Attempting to ratchet the difficulty up is inherently not respecting their build choice
Increasing the Attack Bonus
This is the most obvious disrespect of the choices they've made. It's an outright negation of their choice.
Modify the Encounters
This is more of the same - tho less egregious. But it's the same problem - you want to take away the advantage they paid for in feats.
Disallow Moderately Armored
This also is disrespecting their choice. You seem to have already figured this out.
Interesting ≠ More Difficult
An interesting fight isn't of need more difficult. It's often non-combat stuff that makes it memorable.
So What To Do?
Use what's there better. Assuming you're running a party of the correct levels (IIRC, it starts at 3rd for the non-encounters version), and have only 4 players, the encounters are balanced. So it's time to use what you've got.
And what you've got are a bunch of nutjob cultists. Have them making brash assertions of skill. Have them use group tactics and the 3rd dimension well. Make use of the terrain. Use the multitude of "save or suck it" spells (like the create bonfire cantrip).
And above all, describe, describe, describe. Don't say, "Cultist 1 attacks Player 2." Do say, "The tall cultist is attempting to impale Fredo upon his spear." Things will get a lot more interesting and memorable just by describing better.
Mechanical Stuff to use
There are a number of mechanical options that can increase the risks to PC's without disrespect...
Give monsters their death saves. This really does make for some tense moments.
Remember to use cover and consider using flanking(DMG optional rule, p. 251). If the ranged attacker (spellcaster especially) doesn't have line of sight to all 4 corners of the target's square, the target has +2 AC (partial cover). If only one corner can be seen, it's +5 AC (3/4 cover).
Use the Lingering Injuries option(DMG, p. 272). Makes crits much nastier.