절기는 태음력 중심으로 되어 있는 것을 보완하기 위해 만든 일종의 태양력입니다.
과거가 농경중심 사회였기에 달의 움직임을 근거로 만든 태음력에 한계가 있었기 때문이죠.
그래서 결론적으로 24절기는 1년의 날씨를 대체로 잘 반영하고 있는 것이 맞습니다.
다만 질문자님께서 말씀하신 것처럼 오차가 많이 나는 이유는 크게 두가지라고 볼 수 있습니다.
첫째, 지구온난화 등의 환경 변화로 과거와 맞지 않는 변수가 생겼다는 것입니다.
둘째, 우리가 쓰는 절기는 중국을 중심으로 만들어졌기에 태생적으로 우리와 오차가 발생할 수 밖에 없습니다. 그 기간이 대략 1~2주 쯤 된다고 하니 절기를 보실 때 15일 정도를 늦춰서 적용하면 어느정도는 맞아떨어지는 것을 확인하실 수 있을 것입니다.