You can use one scatter plot per marker.
markers = ["s","o"]
for i, c in enumerate(np.unique(col)):
plt.scatter(y[:,0][col==c],y[:,1][col==c],c=col[col==c], marker=markers[i])
For a way to use several markers in a single scatter plot, see this answer.