Here's a Wikidata query that retrieves the coordinates for a ton of football teams (4866 results at time of writing): https://query.wikidata.org/#SELECT%20%3Fclub%20%3FclubLabel%20%3Fvenue%20%3FvenueLabel%20%3Fcoordinates%0AWHERE%0A%7B%0A%09%3Fclub%20wdt%3AP31%20wd%3AQ476028%20.%0A%09%3Fclub%20wdt%3AP115%20%3Fvenue%20.%0A%09%3Fvenue%20wdt%3AP625%20%3Fcoordinates%20.%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%7D%0A%7D
That website includes links to download the query results in just about any format you might want, or you can also access it via an API (which is ideal for keeping this data up to date long term); more info here.
For sake of avoiding dead links, here is the SPARQL query:
SELECT ?club ?clubLabel ?venue ?venueLabel ?coordinates
WHERE
{
?club wdt:P31 wd:Q476028 .
?club wdt:P115 ?venue .
?venue wdt:P625 ?coordinates .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
That query searches for all entities that have the "instance of" property (P31) set to "association football club" (Q476028). It then looks for those clubs to have a "home venue" (P115) property, and then looks for that home venue entity to have a "coordinate location" (P625) property.
You might notice that the current query retrieves every club, even ones in tiny leagues. Most football clubs in major leagues have a "league" property (P118), so you could tweak the query to filter to certain leagues if you want.