So datagram switching is when packets from same original message travel different paths from source to destination. This cannot happen with switches because switches would just run STP thus disallowing multiple paths. But it is possible with routers because routers can have multiple routes to same destination. So is it true that datagram switching can only be facilitated using routers?
So datagram switching is when packets from same original message travel different paths from source to destination.
No. Different packets may take different paths, but usually they don't. The point is that packet switching forwards packets solely based on their destination address, a decision repeated for each packet and independent of any previous packets. There's no concept for a "connection" on that layer (esp. OSI layers 2 and 3). The forwarding device is generally stateless, ie. without memory of previous traffic.
This cannot happen with switches because switches would just run STP thus disallowing multiple paths.
A switch (bridge) makes a forwarding decision based on the destination MAC. That's packet switching. Ethernet switches can't (regularly) allow multiple paths in an L2 path but that's because of how they do forwarding.
If the switches support Shortest Path Bridging (802.1aq), TRILL or similar they can very well utilize multiple paths between two points. Even MSTP allows multiple, active paths to be used for different VLANs when configured appropriately.
But it is possible with routers because routers can have multiple routes to same destination. So is it true that datagram switching can only be facilitated using routers?
No. Switches and routers both use packet switching - nowadays it's all Ethernet and IP anyway. The difference is that (Ethernet) switches use MAC addressing while routers use IP addressing.
Routers route (switch) packets between networks, and switch (bridges) switch frames on the same network.
If the source and destination network addresses are on different networks, then you need a router to route the packet between the different networks. If the source and destination addresses are on the same network, then you bridge (switch) the frame on the same network.
Bridging or switching switches a frame because it enters the bridge on one interface, and a decision is made, and the frame is switched to a different interface. Bridges use something like a MAC address table to make the decision to which interface it should switch the frame (or it floods it to all other interfaces if it does not know where to send the frame)
Yes, routers can have multiple paths to the same network, but the router will select one path to place in its routing table (there are various criteria for that), and the other paths will be unused until the first path goes down. (not to confuse the situation, but there are cases where you may have and use multiple paths, but you need to learn routing first, bu at your level of knowledge that is unimportant right now). Routers use routing table to determine where to switch the packet. If the router has no destination for a packet, it drops the packet (unlike a bridge that will flood it).