The reason is because for your metric 'revenue', you have the attribution set to 'linear'. The definition from Adobe's documentation about linear allocation is: Gives equal credit to every touch point seen leading up to a conversion.
This means that the credit for the success (in this case, revenue) is going to be split amongst each of the interactions. If you have three touchpoints in your visit, two from affiliate and one from direct, that would result in what you're seeing. Or if there are 9 affiliate hits and 3 direct hits. Basically any combination of 66% and 33%.
In your second column, where revenue is only against affiliate, I'm going to assume that your allocation is last touch (or it could be first touch), meaning that the last (or first) item will get all of the credit and ignore all of the other values.
Adobe's documentation on attribution models (definitions).
https://experienceleague.adobe.com/en/docs/analytics/analyze/analysis-workspace/attribution/models