What is a simple way to extract NDVI average from polygon [Sentinel 2 L2A]
You can give a try to Google Engine. That would be the easiest way to obtain access to image series.
If your research applies only to that period, you may work less downloading by hand and processing in QGIS.
If programming is a must, use Google Engine. They have much of the problem resolved.
Otherwise you will have to develop routines for handling the communication with the Sentinel Open Hub, downloading L1C (if L2A not present) and converting to L2A using Sen2Cor, then obtaining ndvi, croping, etc.
Currently, I am working on a project for a non-profit organization. Therefore, I need the average NDVI values for certain polygons. 
Input for my search:

Group of coördinates (polygon)
a range of dates (e.g. 01-31-2017 and 02-31-2017)

What I now want is:

the average NDVI value of the most recent picture in that given date range with 0% cloud coverage of the given polygon 

Is there a simple way to extract these values via an API (in R or Python)? I prefer working with the sentinel-hub, but I am not sure if it's the best platform to extract the data I need. 
Because I am working time series I should use the L2A version (there is an NDVI layer).