It functions with the logic of this game.
That's not the point. The point is that a game is not real life and things cannot be brought into the game from real life situations on a one-to-one basis, they have to be translated into to the logic of the game. The Greek city-states of the classical period are notorious for signing 30 year peace treaties that then only lasted five or six. They didn't, however, just break the treaty and declare war. They cited a specific clause in the treaty and accused the other side of not conforming to the treaty and then use that either a casus belli or declared the treaty null and void. This kind of logic can't be used in the game since peace treaties don't have clauses. Even Rome didn't just sail up sail to Carthage and declare war on them to start the Third Punic War, they sent an intentionally unreasonable set of demands to Carthage and then used Carthage's refusal of those demands as their casus belli. This can be, and is done, in the game. That's what I mean. Yes, people broken agreements all of the time, but they do so in specific ways and in specific circumstances that may or may not be applicable in any given game. Additionally, anyone who just breaks an agreement without just cause wouldn't find a lot of people willing to make agreements with them or suffer other consequences, which isn't really in the game.
Effects are usually listed somewhere. If there is no text that says "makes it impossible to declare war for X turns" then there is simply no such effect.
So, I actually looked in the game for this information and it actually leaves a lot to be desired. So, only national peace has an encyclopedia entry, truce and war only get tool tips.
Again, things here could be explained a bit better. First, truce saying "cannot attack each other without declaring war" is a lot more clarifying that peace saying "cannot attack each other" since that implies there is away to attack each without declaring war, which there isn't. Peace also implies you can go from peace to war but that's isn't true, you have break the peace first, which isn't explained.
I was already aware that you had to wait a couple of turns to make a truce after declaring war since I tried that before so I don't think it is unreasonable to assume that there would be a cooldown from breaking a peace to declaring war. There is at least one arbitrary limit are already in the game, no reason not to assume that there would be more.
And, as I thought, the penalties for breaking a peace barely qualify as penalties. The opinion hit is literally half of the positive opinion boost you get for a successful trade deal and two legitimacy is barely even noticeable by the mid-game.
So, improvements. First, I would have two kinds of peace - limited and eternal. Eternal peaces basically act the same way peaces do now, plus throw in a permanent trade deal in order to symbolize the lasting connections and good faith of both nations. Limited peaces would come in two varieties, 15 and 30 years, and having a previous limited peace being a prerequisite for establishing an eternal peace. At the end of a limited peace you get the options of renewing the peace, upgrading to either a 30 year or eternal peace, or letting the peace expire and returning to truce. The penalty for breaking a 15 year peace would be double what they currently are for breaking a peace, -80 opinion and then -10 legitimacy for breaking a 30 year peace and then -200 opinion and -15 legitimacy for breaking an eternal peace. I think adding something equivalent to grievances from Civ6 as a way to legitimately break a peace would also be a great addition to the game with these changes.