The primitive set would need to be expanded to be immediately useful for modern purposes, and with an expanded primitive set the simplicity and smallness are lost and the core language becomes more opinionated and less of a flexible tool for building DSLs. Stack manipulations are hard to reason about and only exist for reordering data - these will repel anyone used to imperative programming languages. They could be done away with by changing things, but the resulting language would probably not be considered Forth. Software engineering demands maintainability and fungibility of engineers, which makes concatenative style and the tacitness of stack programing a drawback.
Forth still shines in bare-metal programming and hardware control, and for interactively making DSLs, but DSLs can be constructed in any language. The problem-solving philosophy and emphasis on not solving problems you don't have is much more important than the language itself.