They are very similar, but not identical.
<< accepts a single argument, and pushes it onto the end of the array.
push, on the other hand, accepts one or more arguments, pushing them all onto the end.
The fact that << only accepts a single object is why you’re seeing the error.