El pin en su MCU no mantendrá un voltaje nominal de 3.3 voltios, excepto en condiciones de carga muy ligera. Lo que creo que está sucediendo es que a medida que consumes 17 mA, el voltaje del pin se está reduciendo a algo más pequeño que 3.3 voltios. Puedes verificar esto con un multímetro, por supuesto.
Me gustaría que mi LED funcionara a 40 mA
Tratar de tomar 40 mA de su pin MCU no es aconsejable: debe considerar el uso de un transistor de búfer. Lea esta respuesta para aclaraciones y tenga en cuenta que nunca debe diseñar algo que esté cerca de abusando de las calificaciones máximas absolutas de una parte.
Si observa la hoja de datos de ATmega328p, esta tabla se encuentra en la sección 32.2. (Características comunes de DC): -
Con Vcc a 3 voltios, solo se garantiza que la tensión de salida sea de 2,3 voltios a una temperatura ambiente de 85 ° C con una carga de 10 mA. Esta es una resistencia efectiva de la serie de salida de 70 ohmios. A 105 grados centígrados, la resistencia de salida es de 90 ohmios y, si realizó una extrapolación aproximada a una temperatura más baja, como 25 grados centígrados, podría ser de 30 ohmios aproximadamente.
Con una demanda de 40 mA colocada en el pin, esto significa que el voltaje de salida bajará de 3.3 voltios a aproximadamente 2.1 voltios y esto es menor que el voltaje directo del LED. Seguro que puedes probar esto y obtener algo como 40 mA, pero no hay garantías de que esto siempre suceda. Para eso están las hojas de datos: para guiarlo en la toma de algunos juicios de sentido común.