Because of the conditions on their landing rights within the PRC.
Air services agreements are negotiated on a bilateral basis. Whether or not an airline can fly into both Taiwan and the PRC depends upon the air services agreement entered into by its government and the government of the PRC. (Taiwan, typically, has not place restrictions of this type in their ASA's).
So AC can serve both CKS and BJS/SHA, but BA cannot.