I actually just finally found the cause! It was the pagination links that were breaking the layout. I changed the "grid-column-end" setting on the pagination (from 4 to 3) and now it works perfectly. Here's the CSS in case it's helpful for anyone else:
@media screen and (min-width:768px) and (max-width: 1024px) {
.blog-basic-grid {
display: grid !important;
grid-template-columns: repeat(2,minmax(0,1fr)) !important;
grid-column-gap: 40px !important;
}
.blog-basic-grid .blog-list-pagination {
grid-column-end: 3 !important;
}
}