If reputation isn't increasing that's one issue, but if it's always showing the users as a guest, that's a different issue. "Guest" users will not get reputation because there's no user account.
Is there an option to create charts based on specific data? I'd like to try create kind of training diary, where I could see progress of specific day/weeks/months of training with some interactive charts, is it doable in NodeBB?
You can do pretty much anything you want if you're willing to put in the work to make a plugin. Without that, though, no there's no way to configure NodeBB core to do that.