Thread usually means an in-process concurrency construct controlled by calls to the operating system. A goroutine is managed by the Go runtime.
It's an important distinction between using many (read: hundreds) of OS threads in a single process isn't performant, while using hundreds or even tens of thousands of goroutines is just fine.