I think it's pointless asking where terminology comes from. (For example why does Haskell have 'types' and 'kinds', whereas math has 'sorts'?) The wikipedia article is good.
The style of writing guards to the right does mirror maths (the wikipedia article has an example). That's probably what influenced Dijkstra. And there's the same mathematical style in Strachey 1967 'Fundamental Concepts'. (He doesn't use "guard".)
@Will Ness guards are not much different from plain conditionals is not right. So it's good to have a different word than "condition". Guards come after pattern-matching:
case x of
(Maybe x') | x' > 0 -> ...
Nothing {- x' not in scope here -} -> ...
In a case branch: first match the pattern, and that binds variables; then apply guards using the variables.
And you can extend the idea to the type level https://github.com/AntC2/ghc-proposals/blob/instance-apartness-guards/proposals/0000-instance-apartness-guards.rst