Got the reason.
We are missing backend config for new project.
So terraform does not know where to fetch old config, it always starts from scratch. As a result, it always add resources and won't replace existing resources