To leverage massive distributed data and computation resources in the Internet-of-Things (IoT) networks, federated learning (FL) is considered to be a promising technique with benefits of improved data privacy and communication efficiency. Meanwhile, cell-free massive multiple-input multiple-output (cell-free massive MIMO) is a promising technology to enable the IoT networks to support FL. By deploying the access points (APs) closer to the IoT devices, path loss attenuation can be reduced. However, the performance of FL is still constrained by the limited power resources of IoT devices. To address this issue, we design an energy-efficient FL scheme over cell-free IoT networks by formulating an optimization problem to minimize the total energy consumption of the IoT devices participating in the FL process. To solve the intractable problem in hand, by exploiting its unique structure, we decompose it into three sub-problems that facilitate the development of the proposed scheme. First, we derive the optimal central processing unit (CPU) operating frequency for IoT devices. Then, we design an optimal power allocation scheme to mitigate the straggler effect. Next, nonlinear programming method is adopted to obtain a sub-optimal solution for the reformulated problem. Finally, a three-stage algorithm is proposed for energy consumption minimization by considering these sub-problems. Simulation results demonstrate the close-to-optimal performance of the proposed algorithm for energy savings compared with three baseline algorithms and the capability to support large numbers of IoT device access by mitigating the straggler effect.