I ran into something similar in a neighbor's tank - nitrites were spiking even with a filter and water changes. Turned out the problem wasn't just one thing, but a combo of several factors. Yeah, overfeeding and plants matter, but there's another thing people often miss: the bacterial colony in the filter itself can be unstable. If the filter is new or was recently cleaned, the microorganisms that convert ammonia to nitrite and then to nitrate haven't really settled in yet. The spikes are exactly about that - when there aren't enough bacteria, they can't handle the load.
Also, check if the filter's clogging up too fast. If blockages happen frequently, it means there's actually a lot of organic matter, and the filter just can't keep up. But here's the main thing: two weeks for stabilization is too short - bacterial colonies take roughly a month to a month and a half to establish. With 30% water changes you're doing good, but make sure you're not overfeeding. Fish should finish their food in 2-3 minutes, anything left goes in the trash, not in the water.
Nitrates above 40 are fine too, as long as you're not hitting 80 and above. They build up over time and you can only get rid of them with water changes and plants (if you have fast-growing ones). Just keep doing your weekly tests for another month, check your feeding schedule - that's usually the first thing that makes a real difference.