Making logrotate remove old logs after reducing 'rotate' value
Solution 1:
You could add a postrotate script to your current block in order to delete files older than n
days with the following :
find /var/log/apache2 -maxdepth 1 -mtime +<n> -name "*.log.*.gz" -delete &>/dev/null
Wait for the next rotation then remove it and let logrotate do its normal job again.