This is hard-coded behavior from vanilla. In order to keep alliances you still have to show your ally you are not a pushover; that means keeping up your military rankings (not always possible), but also maintaining your territorial sovereignty. When your allies start probing your territories with troops you need to move your troops out to obstruct their probings; if you fail to do this they will see you as weak and attack you. A twenty turn peace with North Rhun would be a success in my book; you will always eventually be at war with any faction with whom you share a border. The best way to maintain an alliance is to not share a border with your ally, and/or make sure your ally is at war with another faction of similar or better strength.