Yes, they're identical. They're desugared as
flatten1 xss =
xss >>= \xs -> xs >>= \x -> return x
flatten2 xss = do
xss >>= \xs -> xs
The first one is equivalent to
xss >>= \xs -> xs >>= return
and by the Right identity monad law equivalent to
xss >>= \xs -> xs