The Civil War was the culmination of centuries of events that set White Southerns apart from White Northerners and from Black Southerners. A group of people who see themselves as a group because of their shared history and geographical origin is the definition of an ethnic group. That makes the Confederate flag both a symbol of racism and also a symbol of an ethnic group. The idea behind Heritage Not Hate is that even though it began as a symbol of racism it can be a symbol of the ethnic group without the racism. But that distinction isn't being articulated or understood very well by either side, and that supports cultural racism.
Banning the use of the Confederate flag on government buildings is easy to do because its meaning is ambiguous and obviously isn't positive for a lot of American citizens. But there is no way to ban the private use of ethnic symbols. The Dukes of Hazzard probably did more than anything else to separate the ethnic meaning of the symbol from the racist meaning. The show was a story about rebels who broke the law to stand up for justice against their corrupt local government. I think that taking the show off the air because it has a Confederate flag in it did more harm than good. It was one of my early inspirations for standing up for justice and against government corruption. Every rural working class White male grows up watching that show.