Hi,
spanguard is a different feature. Spanguard is intended to protect against unexpected BPDUs sent by switches that should not be connected to the port.
The problem with 3 individual links between two switches is that STP will block two of the three links. That is normal operation for spanning tree. In general, it is needed to avoid a layer 2 loop.
But in your case the links have different VLANs, thus they do not form a loop (unless there was a mistake). This is not known by STP or RSTP, not even MSTP without specific configuration. MSTP allows to create instances and assign VLANs to those instances. Inside one MSTP region (same configuration name, configuration revision number and hash of instance to VLAN mapping) different links can be used for different instances by appropriate configuration (you would probably need to adjust port costs per instance). All links should still carry all VLANs, the MSTP instances determine which of the available links is active for each instance. That is quite complex.
A dangerous solution is to disable STP for the port (set spantree portadmin disable). If you or someone else in the future makes a mistake during a configuration change, STP will not save the day, since it is disabled. Thus I can only advise not to do this.
Using an LAG allows all three links to be used simultaneously, instead of using only one of three (or more) individual links with STP blocking all others.
Thanks,
Erik