Prior to 1971, it was called ‘Decoration Day’ & always held on May 31st, irrespective of what day of the week it was.
As of 1971 it became ‘Memorial Day‘ & would be held on the LAST Monday of May.
Last Monday of May can fall between the 25th & 31st.
So, while May 25th may seem early — and it is (in that it is THE earliest it can now be) — it is not uncommon.
We had Memorial Day on May 25th just 5-years ago, in 2015. You can’t remember that?
And it was 6-years prior to that. Prior that that we had an 11-year gap.
Memorial Day falling on the 25th goes in those 5-6-11 year cycles. That is the same for all these types of fixed day events. 11-year gaps come about due to Leap Years.
We will have Memorial Day again on May 25th in 6-years time. Don’t forget.