## Haskell, 54 bytes

 t a=or$map(\f->and(f(zipWith(<=))tail$a))[(=<<),(<*>)]

Usage example: `t "defggh"` -> `True`. [Try it online!](https://tio.run/nexus/haskell#BcExDoAgDADArzSEoTX6A@AbDurQBIEmgoR08vN4NxXYv8NW7nimLXCLmPCTvosWdJ5IWR7LRAd652hFtwS6ZmVp4KEPaQoWFEy8U87FwPwB "Haskell – TIO Nexus").

Maybe using `sort` like may other answers is shorter although it requires `import Data.List`. Here's a different approach:

Map the lambda `\f-> ...` over the list of functions `[(=<<),(<*>)]` and require any of the results to be `True`. The lambda resolves to

 ((=<<) (zipWith(<=)) tail) a
 ((<*>) (zipWith(<=)) tail) a

which both perform comparisons of neighbor elements of the input list `a` with `<=`, but one with the arguments flipped resulting in a `>=`. `and` checks if all comparisons are `True`.