German coalition parties reach agreement on 2024 budget