For several months, my free-tier pipeline minutes quota lasted almost the whole month. This month, my minutes ran out on the 3rd day of the month. My usage hasn’t changed. What happened?
You are correct. Gitlab reduced their free tier minutes to 400 minutes/month.
You can read their FAQs regarding this change here
These minutes are also only enforced when using shared runners, I recommend setting up and registering your own personal runner somewhere (I.e AWS, Azure, a server running in your house/company).
Here is documentation on registering a personal runner
There is a lot there and I am not seeing the reason this was changed.
Here is the official release regarding the change. In short GitLab has a lot of users and running the infrastructure for the runners and gitlab itself is expensive.