You could also do this via runtime skins.
Blank out the runtime skin entry if you don't want anything equipped.
No need to set anything every frame or every animation in that case.
But you would need to animate your skeleton so that it shows every possible equip whenever you want them to be visible.
And at runtime, you only need to assign the equips to the skin you want.
Otherwise, yeah. Setting the attachment every frame is just a property assignment (which behaves as Nate described).
It's up to you which way you want to go.
But for sure, the way where you use animation sideeffects to leave attachments the way they were in previous animations would be a nightmare to manage on both Unity and Spine editor side. That was how Spine used to work and it caused a lot of problems for people and was incredibly unintuitive and time-consuming for animators. You can imagine having to hunt down attachments from every possible previous animation's changed attachments to every possible next animations attachments and have to make sure all of those are keyed, just to get animation mixing to work properly. Then imagine having to add new attachments or new slots to that skeleton. It got messy. And dopesheets got messy.