You already switched to the CacheTag API for core version 13, in \GeorgRinger\News\Utility\Cache.
This API supports passing lifetimes per tag. You can pass, pseudo-code!, ($news->getStartime() ?: $news->getEndtime()) - $now (only if any is set) to respect the start and end times of news records on-the-fly. Then all news lists and detail pages should automatically respect these enabled fields implicitly without having to deal with TypoScript cache settings or implementing custom solutions.