#Octave, 57 bytes

    @(A)all([(s=@sum)(A) s(A,2)' s(D=spdiags(A)) s(D,2)']==1)

Takes input as a binary matrix with 1 representing a Queen and 0 representing an empty space.

Sample run on [ideone](https://ideone.com/H30D5A).