In general, adding more and more features (even if its not necessarily useful for making predictions) would improve the accuracy of the trained model. When the number of features would be equal to or greater than the number of samples used for training, then (not surprising) one would observe a high accuracy close to 100% on the training set (even under cross-validation). This is simply because of over-fitting.
This can be illustrated using a simple example:
If you have two data-points, you can easily fit a line passing through both of them. In this example, the features would be the slope and intercept of line. [no. of data-points = no. of features = 2]
On the other, hand if there were three or more non-colinear points, you would have to trend a least-squares fit. As a result, the linear model would have less than 100% accuracy.
Coming back to the scikit-learn example in your query:
The digits dataset has 200 samples with 64 features. Additionally 200 randomly generated features are introduced so that the dataset is in the curse of dimension settings (i.e. no. of features > no. of samples). So one would naturally observe higher accuracy for 100 percentile case. Remember, this higher accuracy is at the cost of generalization.
If you wanted to figure out what fraction of total 264 features is meaningful for prediction, you would have to keep aside a fraction of dataset purely for testing (even under cross-validation mode).