How do services like Square link bank accounts to people's personal accounts? Is there some API they're plugging into? Is this the same as ACH?
It's not "the same as ACH", it is ACH. All the transfers to and from your bank accounts to Square/PayPal/other bank accounts go through ACH. The exception is wire-transfer, which goes in a different (and much faster, and more expensive) route.